MySQL的root密码忘记或丢失的解决方法一例

-bash-4.2$ service MySQL status
 SUCCESS! MySQL running (2670)
-bash-4.2$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

以下是密码忘记的解决方法:

修改MySQL的参数设置: 
# vi /etc/my.cnf 
在[mysqld]的段最后一行加上一句:skip-grant-tables 
例如: 
[mysqld] 
........................
log-bin=mysql-bin
innodb_data_file_path = ibdata1:12M;ibdata2:100M;ibdata3:300M:autoextend
innodb_file_per_table=on
max_connections=500
skip-grant-tables    --新增加行
保存并且退出vi.

重启MySQL服务:
[root@chenfeng subsys]# service mysql restart
Shutting down MySQL. SUCCESS! 
Starting MySQL. SUCCESS! 

-bash-4.2$ mysql    --不用输密码直接登录
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.15-log Source distribution


Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.


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


MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| chenfeng           |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)


MySQL [(none)]> 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
MySQL [mysql]>  UPDATE user SET Password = password ('12345678') WHERE User ='root';   --修改为新密码12345678
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

MySQL [mysql]> 
MySQL [mysql]> flush privileges;   --刷新一下权限表
Query OK, 0 rows affected (0.00 sec)

MySQL [mysql]> quit
Bye

将MySQL的参数设置修改回来:
# vi /etc/my.cnf 
将刚才在[mysqld]的段中最后一行加上的skip-grant-tables删除,然后保存退出。
 
重启MySQL服务:
[root@chenfeng subsys]# service mysql restart
Shutting down MySQL. SUCCESS! 
Starting MySQL. SUCCESS! 


重新用新密码登录:
-bash-4.2$ mysql -u root -p12345678      --12345678为新密码
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.15-log Source distribution


Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.


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


MySQL [(none)]> 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
MySQL [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| chenfeng           |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

MySQL [mysql]> 

分享文章:MySQL的root密码忘记或丢失的解决方法一例
文章路径:http://scyanting.com/article/ggscii.html