[日常填坑]mysql登陸后只出現information_schema和test兩個數據庫


在服務器只能使用【無密碼】登陸,即

要么直接mysql進入數據庫,要么mysql -u root -p,然后不寫密碼回車進入數據庫(但是之前一開始有設置密碼了!!!之前是按這個步驟來的),

然后,登陸后只能看到information_schema和test兩個數據庫,而且沒了很多權限。

另外,能在本地連接遠程服務器數據庫可以使用root和密碼登陸連接,能看到mysql數據庫的user表。

也就是說,在服務器的數據庫的root已經失去了超級權限!!!

 

原因:

一開始安裝mysql的時候沒有把localhost的空用戶刪除。

導致root有兩種登錄方式,一個是基於localhost的,另一個就是在其它任意主機登錄的,

你設置的密碼是基於IP地址登錄時的密碼,而你在本機運行mysql -u root -p時,默認檢查的是localhost方式

 

如何解決:

解決具體操作步驟:

第一種方法:

在服務器中,

先關閉mysql:service mysqld stop

然后,mysqld_safe --skip-grant-tables

 

(如果是mariadb,則使用systemctl restart mariadb.service)

打開mysql

刪掉已經存在了host為localhost的記錄,則先(一定要一開始就!!!)刪除該記錄,delete from user where host='localhost';

 

第二種方法:

如果你已經在本地主機遠程連接數據庫的root用戶,

那么直接在mysql.user里面刪除localhost的空用戶

然后再服務器上面重啟數據庫服務即可

 

 

 


免責聲明!

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



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