# vim /etc/my.cnf
在[ mysqld ]的段中加上一句: skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
2.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
3.登录并修改MySQL的root密码
# mysql
Welcome to the MySQL monitor. Commands end with or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type 'help' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql
Database changed
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root'
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges
Query OK, 0 rows affected (0.01 sec)
mysql> quit
4.将MySQL的登录设置修改回来
# vim /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vim
5.重新启动mysqld
# service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
安装好mysql后,找到 /var/log 目录,打开 mysqld.log 文件,找到有password的地方,可以看到root账户的密码
cat /var/log/mysqld.log | grep password
使用该密码,可以登录root账户
如:[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
service mysql restart
mysql -uroot -p (直接点击回车,密码为空)
use mysql
mysql>update user set password=password("*******") where user="*******" #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql>update mysql.user set authentication_string=password('*******') where user='*******' #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql>flush privileges #立即生效
Query OK, 0 rows affected (0.00 sec)
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)