MySQL重置根密码

时间:2020-01-09 10:42:43  来源:igfitidea点击:

我忘记了MySQL的root密码。
如何重置MySQL根密码?
可以重置root密码。
使用以下过程为Unix/Linux/BSD之类的操作系统上的任何MySQL根帐户重设密码。

您需要在UNIX/Linux下以root用户身份登录。

步骤1:停止MySQL

执行以下命令以在RHEL/Fedora/CentOS Linux下停止mysql服务器:

# /etc/init.d/mysqld stop

如果您使用的是FreeBSD,请使用以下命令:

# /usr/local/etc/rc.d/mysql-server stop

如果使用的是Debian/Ubuntu Linux,请使用以下命令:

# /etc/init.d/mysql stop

或者,您可以通过在以下bash特定命令中使用.pid文件的路径名,向MySQLd进程发送kill命令来停止MySQL服务器:

# kill $(cat /var/run/mysqld/mysqld.pid)

或者

# pgrep -u mysql mysqld
# kill PID

或者,只需在Linux下使用killall命令:

# killall mysql

步骤2:创建新的mysql密码sql脚本

如下创建一个名为/root/mysql.reset.sql的sql文件(将YOUR-NEW-MYSQL-PASSWORD替换为您要使用的实际新密码):

# vi /root/mysql.reset.sql

追加以下代码:

UPDATE mysql.user SET Password=PASSWORD('YOUR-NEW-MYSQL-PASSWORD') WHERE USER='root';
FLUSH PRIVILEGES;

保存并关闭文件。

步骤3:设置新的mysql根密码

执行以下命令:

# mysqld_safe --init-file=/root/mysql.reset.sql &

输出示例:

nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[20970]: started

这样就完成了重置操作。
只需停止服务器,然后重新启动:

# killall mysqld
# /etc/init.d/mysql start