如果你使用 mysql 5.7,而忘记了 mysql 的 root 密码,那么有一些方法可以帮助你重新设置密码。
- 通过修改 MySQL 配置文件重置密码。
将 MySQL 服务停止,然后使用文本编辑器打开 MySQL 配置文件my.cnf或my.ini(根据您的操作系统不同,该文件可能位于不同位置)。在 [mysqld] 部分添加 skip-grant-tables 然后保存并关闭文件。重启 MySQL 服务,此时 MySQL 不再需要密码即可登录。
使用以下命令登录到 MySQL:
$ mysql -u root
使用以下命令更新 root 的密码,并退出 MySQL:
mysql > USE mysql;
mysql > update user SET authentication_string=PASSWORD("new_password") WHERE User='root';
mysql > FLUSH PRIVILEGES;
mysql > quit;
替换 “new_password” 为新密码。现在,再次编辑 MySQL 配置文件,并删除 skip-grant-tables 一行,然后重新启动 MySQL。
- 通过使用安全模式重置 MySQL 密码。
首先,停止 MySQL 服务以确保没有其他客户端正在连接到您的数据库。使用以下命令启动 MySQL 安全模式。
$ sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
您将看到一条类似的消息:
[1] 1234
这意味着该命令正在后台运行,并显示进程 ID 为 1234。
使用以下命令连接到 MySQL:
$ mysql -u root mysql
接下来使用以下命令更新 root 的密码:
mysql > USE mysql;
mysql > update user SET authentication_string=PASSWORD("new_password") WHERE User='root';
mysql > FLUSH PRIVILEGES;
替换 “new_password” 为新密码。最后,退出 MySQL 并停止 MySQL 安全模式。
mysql > quit;
$ sudo kill -9 1234
- 使用 MySQL 安全性工具重置密码。
如果您不想手动更改 MySQL 配置文件,也可以使用 MySQL 安全性工具(mysql_secure_installation)重置 MySQL 密码。
首先,安装 MySQL 安全性工具,Ubuntu 系统下使用以下命令:
$ sudo apt-get install mysql-server
然后运行以下命令:
$ sudo mysql_secure_installation
执行以下步骤:
- 输入 root 密码或按回车键跳过此步骤。
- 输入 y 并按回车键,以删除匿名用户。
- 输入 y 并按回车键,以禁用 root 远程登录。
- 输入 y 并按回车键,以删除 test 数据库并让 MySQL 加载新的特权表。
- 输入 y 并按回车键,以完成该过程。
现在,您可以使用新密码访问 MySQL 服务器。
无论您使用哪种方法重置 MySQL 密码,都需要确保新密码足够强壮,并将其保存在安全的地方。