解決方法:1、打開配置文件“my.cnf”,在“[mysqld]”項下添加“skip-grant-tables”語句,重啟MySQL服務(wù);2、執(zhí)行“mysql -u root”命令免密碼登錄數(shù)據(jù)庫;3、使用update命令重置登錄密碼即可。
忘記mysql密碼了怎么辦?不怕,可以通過重置密碼了重新設(shè)置一個新密碼,
重置MySQL密碼的方法
1、修改配置文件 my.cnf,在配置文件 [mysqld] 下添加 skip-grant-tables,重啟MySQL服務(wù)即可免密碼登錄
其中 --skip-grant-tables 選項的意思是啟動 MySQL 服務(wù)的時候跳過權(quán)限表認(rèn)證。 啟動后,連接到 MySQL 的 root 將不需要口令(危險)。
[mysqld] skip-grant-tables
2、用空密碼的 root 用戶連接到 MySQL,并且更改 root 口令
免密碼登錄MySQL數(shù)據(jù)庫:
[root@iZ235wguph2Z www]# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 295 Server version: 5.0.56-log Source distribution Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
重置密碼:
mysql> update user set password=password('123456') where User='root'; ERROR 1046 (3D000): No database selected mysql> use mysql; Database changed mysql> update user set password=password('123456') where User='root'; Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit
3、到 my.cnf 中刪除 skip-grant-tables 選項,然后重啟MySQL服務(wù)。
至此MySQL數(shù)據(jù)庫root用戶的密碼修改完畢。