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]>