mysql 執行show databases沒有mysql庫


在網上查了一下相關的案例,發現與權限表mysql.user表有關

解決方法:
關閉數據庫
service mysqld stop

以跳過權限認證方式啟動mysql
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &

刪除mysql.user表中host名為'localhost'的記錄
mysql> use mysql
mysql> delete from user where host='localhost';
Query OK, 7 rows affected (0.00 sec)

mysql> INSERT INTO `user` VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y', '','','','',0,0,0,0);
Query OK, 1 row affected (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

再次重啟數據庫后,正常
service mysqld restart 

mysqld_safe --defaults-file=/etc/my.cnf &

更改root密碼
mysqladmin -u root -proot password 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM