修改 MySQL root 用户密码
当当前密码丢失时修改密码
如果您丢失了数据库 root 用户的当前密码,可以按照以下说明进行修改:
- 首先通过 SSH 连接到服务器。
- 然后停止 MySQL 服务:
/etc/init.d/mysql stop
- 为了修改 MySQL 服务参数并允许其在不进行权限检查的情况下启动,请编辑 mysqld.cnf 文件。请按照以下步骤操作:
3.1. 在文本编辑器中打开文件:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
3.2. 在 [mysqld] 版块中添加以下行:
skip-grant-tables
修改后,您的文件应如下所示:
3.3. 保存更改(nano:Ctrl O -> Enter -> Ctrl X,或 Ctrl X -> Y -> Enter)。
- 现在重启 MySQL:
service mysql restart
- 再次打开 mysqld.cnf 文件:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
并删除之前添加的行,然后保存文件。
- 现在以无密码方式作为 root 用户连接到 MySQL:
mysql
- 选择活动数据库:
use mysql;
- 更新密码:
update user set authentication_string=password('您的新密码') where user='root';
- 应用更改:
flush privileges;
- 使用 \q 命令退出 MySQL
- 以正常模式重启服务:
/etc/init.d/mysql start
- 为了确保密码已成功修改,请使用新密码以 root 用户身份连接到 MySQL:
mysql -u root -p
之后输入您的新密码。
当当前密码已知或之前未设置时修改密码
如果您需要修改 MySQL 的当前 root 密码,或者在之前未设置的情况下进行设置,可以按照以下方式操作:
- 首先通过 SSH 连接到服务器。
- 然后进入 MySQL 管理:
如果尚未设置 root 密码,请使用此命令:
mysql
如果您已有当前密码,请执行以下操作:
mysql -u root -p
然后输入当前密码。
- 现在执行以下查询,将“密码”替换为您想要的新密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');
- 使用 \q 命令退出 MySQL。
- 为了验证更改,请使用新密码进行连接:
mysql -u root -p
之后输入您的新密码。