32123 发表于 2016-8-9 10:15:56

LAMP - MySQL的root密码重置

登录数据库时,可能会忘记密码,怎么办呢?
方法:编辑mysql配置文件,不让mysql去授权;之后输入mysql无用户登录,因为是root用户,所以在mysql库里进行密码的重置


mysql密码重置过程及语句:
# mysql -uroot

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
不输入密码登录会报错

# vim /etc/my.cnf


skip-grant
在mysqld模块下添加skip-grant,不让mysql对任何用户授权
保存退出后,再重启 /etc/init.d/mysqld restart

# mysql -uroot

Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.40-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql
Database changed
mysql> update user set password=password('123456') where user='root';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    3
Current database: mysql

Query OK, 3 rows affected (0.00 sec)
Rows matched: 3Changed: 3Warnings: 0

这个时候root用户的密码就变成了123456,完事后别忘记删除配置文件里的skip-grant,再重启mysql就可以输入新密码进行登陆了

# mysql -uroot -p123456
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.40-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


页: [1]
查看完整版本: LAMP - MySQL的root密码重置