如何重置数据库root密码?

如果忘记了root密码,需要通过如下的操作进行MySQL密码重置:

  1. 使用WinSCP,打开/etc/my.cnf,找到以下语句: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock

  2. 添加skip-grant-tables语句,退出并保存

  3. 重启数据库:systemctl restart mysqld,接下来就可以使用免密码登录mysql了:mysql -u root

  4. 进入数据库,并选择当前数据库为mysql

    USE mysql ;

  5. 执行以下SQL修改密码

    mysql> UPDATE user SET Password = password ( '你的密码' ) WHERE User = 'root';

  6. 修改完成后 刷新权限

    flush privileges ;

  7. 修改完成后,切记重新编辑my.cnf并且删除我们加入的skip-grant-tables

    再次重启数据库。

Last updated