如何重新设置MySQL Root密码

May 28, 2009 – 9:55 pm

我忘记了MySQL root密码,怎样才能重设MySQL root密码呢?

MySQL root密码是可以重设的。按照下面的步骤,你可以重设Unix / Linux / BSD等操作系统中的
MySQL root用户的密码。

首先,你需要以root管理员帐号登录UNIX / Linux系统。

第一步:停止MySQL

在RHEL / Fedora / CentOS Linux系统中,输入下面的命令来停止MySQL数据库服务器:

# /etc/init.d/mysqld stop

在FreeBSD UNIX系统中,输入下面的命令来停止MySQL数据库服务器:

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

在Debian / Ubuntu Linux系统中,输入下面的命令来停止MySQL数据库服务器:

# /etc/init.d/mysql stop

另外,你也可以通过kill命令停止mysqld进程, 在下面的cat命令后,输入mysqld.pid文件所在的路径:

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

或者:

# pgrep -u mysql mysqld
# kill PID

或者, 在Linux下,使用简单的killall命令:

# killall mysql

第二步:创建新的mysql密码的sql script

新建命名为 /root/mysql.reset.sql sql文件, 并输入如下内容,将下面的“你的新mysql密码”改成你自己想要设置的密码。

# vi /root/mysql.reset.sql

输入如下代码::

UPDATE mysql.user SET Password=PASSWORD('你的新mysql密码') WHERE User='root';
FLUSH PRIVILEGES;

!wq 保存并关闭文件。

第三步: 设置新的mysql root密码

输入如下命令:

# 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

(the end)

Post a Comment