2018.6.1
MySQL数据库忘记root密码解决:
-
进入配置文件/etc/my.cnf
-
在[mysqld]下加入一条语句:skip-grant-tables
-
重新启动mysqld:service mysqld restart
-
无密码登录MySQL数据库:mysql -uroot -p
-
进入数据库后操作:
使用mysql库
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed一定要查看清楚user表的用户密码字段名
mysql> select * from user limit 1G;
******************* 1. row *********************
Host: localhost
User: root
Select_priv: Y
...(此处省略)
plugin: mysql_native_password
auther_string: *81F5E21E35407D884A6CD4A731AEBFB7AF209E1B这串字符就是加密后的密码,选取其字段名
password_expired: N
password_last_changed: 2018-05-31 15:12:34
password_lifetime: NULL
account_locked: N
1 row in set (0.00 sec) -
修改密码:
mysql> update user set auther_string=PASSWORD('123') where User='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 2 Changed: 1 Warnings: 1 -
修改成功后退出数据库,将配置文件中的无密码登录注释掉
-
重启mysqld: [root@BDKVM01 ~]# systemctl restart mysqld
-
验证:[root@BDKVM01 ~]# mysql -uroot -p123