mysql由於權限問題看不到用戶數據庫


一、登錄數據庫

[root@localhost ~]# mysql -u root

mysql > show databases;

+--------------------+
Database |
+--------------------+
| information_schema |
| test |
+--------------------+

只顯示這個兩個數據庫,看不到mysql數據庫

二、解決方法:
此問題實際上是用戶沒有權限:

1. 關閉mysql: service mysql stop
2. 啟動mysql: mysqld_safe --skip-grant-tables --安全模式啟動 跳過權限表認證
3. 再打開一個ssh連接服務器,進行mysql操作

[root@localhost ~]#mysql

mysql > show databases; 在這個模式下是可以看到mysql用戶數據庫的。

1.如果已經存在了host為localhost的記錄,則先刪除該記錄,delete from user where host='localhost';

2.然后再進行上面的insert操作,注意的是mysql版本的不同,user表的結構會略有差異,插入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','N','' ,'','', 0,0,0 , 0,0,'mysql_native_password',0 );

3.操作完成后,將兩個ssh連接都關閉,然后再重新連接一個ssh,啟動mysql:service mysqld start,然后用mysql命令連接mysql數據庫

三、修改后登錄mysql

重新連接一個ssh

[root@localhost ~]#mysql -u root -p

1.密碼為空
2.如果此時還連接不上,再重啟一下mysql就好了,service mysqld restart

3.如果想設置密碼可以更新下 update user set password=password('root') where user='root';


免責聲明!

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



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