您的位置:首页 > 数据库 > MySQL

如何重置MySQL数据库管理员(root)密码

2015-03-20 15:12 435 查看
经常有同事忘记了root用户密码。这里把Linux上的重置步骤描述一下:
1)停止mysqld进程
查看mysqld的进程信息。如:
# ps -ef | grep -i mysqlroot      7631     1  0 11:39 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/mmdev-com.pidmysql     7758  7631  1 11:39 pts/0    00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mmdev-com.err --pid-file=/var/lib/mysql/mmdev-com.pid
7758 号进程即为mysqld进程。使用kill停止它:
# kill 7758
如果已经将mysqld安装为服务,也可以这样停止它:
# service stop mysqld
2)重启mysqld进程,附加命令参数
--skip-grant-tables
--skip-networking。第一个参数可以关闭身份认证。第二个参数则是为了安全考虑,关闭了网络访问。
# /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mmdev-nq-com.err --pid-file=/var/lib/mysql/mmdev-com.pid --skip-grant-tables --skip-networking
3)在mysqld本机启动mysql客户端
# mysql
4)使用下面的SQL语句修改root密码
mysql> [code]UPDATE mysql.user SET password=PASSWORD('MyNewPass')
WHERE user='root';

mysql>
FLUSH PRIVILEGES;
[/code]
5)停止mysqld进程
与第一步做法相同。
6)正常启动mysqld,不带 --skip-grant-tables 和 --skip-networking 这两个参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: