MySQL8.08.x忘记密码怎么更改root密码
更新时间:2023-07-31前言:
在使用MySQL 8.0或8.x版本时,有可能会忘记root用户的密码,导致无法登录数据库。这时候就需要更改root密码来恢复访问权限。本文将介绍如何通过几种不同的方式来更改MySQL 8.0/8.x中的root密码。
方法一:使用mysql_secure_installation工具
mysql_secure_installation是MySQL提供的一个安全性脚本工具,它可以帮助我们设置root密码。下面是具体步骤:
$ mysql_secure_installation
运行该命令后,会提示你输入当前root密码(如果忘记了可以直接回车),然后会提示你设置一个新的root密码。按照提示进行操作即可。
方法二:通过mysqld_safe启动MySQL并重置密码
如果你无法通过mysql_secure_installation工具来更改密码,可以尝试使用mysqld_safe启动MySQL,并在启动时重置密码。下面是具体步骤:
$ sudo service mysql stop $ sudo mysqld_safe --skip-grant-tables & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; mysql> quit $ sudo service mysql start
运行这些命令后,会停止MySQL服务,然后通过mysqld_safe启动MySQL,并跳过权限验证。接下来使用mysql命令登录到MySQL,然后刷新权限并更改root用户的密码,最后重新启动MySQL服务。
方法三:修改MySQL配置文件重置密码
如果上述方法都无法解决问题,可以尝试修改MySQL的配置文件来重置密码。具体步骤如下:
$ sudo service mysql stop $ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到[mysqld]段落,添加一行skip-grant-tables。然后保存文件并退出编辑器。
#skip-grant-tables
接下来重新启动MySQL服务:
$ sudo service mysql start
然后使用mysql命令以root身份登录到MySQL:
$ mysql -u root
运行以下命令来更改root密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
更改完成后,重新编辑MySQL的配置文件,将之前添加的skip-grant-tables那行注释掉(在行首添加#符号)。然后保存文件并退出编辑器。最后重新启动MySQL服务。
$ sudo service mysql restart
总结:
忘记了MySQL 8.0/8.x的root密码确实是一个麻烦的问题,但我们可以通过使用mysql_secure_installation工具、通过mysqld_safe启动MySQL并重置密码,或者修改配置文件来解决这个问题。根据个人的情况选择适合的方法即可。记得最后要重新启动MySQL服务使更改生效。