ubuntu18.04安裝phpmyadmin后不能使用root用戶登錄的解決辦法

原文鏈接:https://www.whongbin.com/archives/290.html

前言

今天搞了個亞馬遜的免費主機(免費使用12個月),我之前一直是完centos的,但是亞馬遜的免費套餐只有ubuntu18.04和Windows,還有一些我不太熟悉的操作系統(tǒng)(如圖),有興趣的可以期待我下篇文章,一起去擼一個免費的主機玩玩。

image

問題

安裝了phpmyadmin之后,進行登錄,發(fā)現(xiàn)root賬戶不能登錄。這種情況在centos下貌似是不存在的。。

image

錯誤代碼如下:

ERROR 1698: Access denied for user 'root'@'localhost'

但是在終端中使用命令 sudo mysql -uroot -p 登錄是沒有任何問題的。


我不清楚這是問什么,不過我猜想可能是phpmyadmin在ubuntu18.04上的一個特例吧,安裝phpmyadmin的時候會多一個步驟,創(chuàng)建phpmyadmin的登錄用戶。但是這個用戶明顯是一點屌用都沒有啊,只能管理phpmyadmin這一個數(shù)據(jù)庫,我要你有何用~

解決

找度娘求救以后,看到這么一句話:MySQL 改變了安全模式:現(xiàn)在MySQL root登錄需要一個sudo(而密碼仍然可以是空白的)。也就是說,phpMyAdmin將無法使用根憑證(就是自身禁止了root用戶的登錄行為)。

方法一:

最簡單(最安全)的解決方案將創(chuàng)建一個非root用戶并授予所需的權(quán)限。

1.鏈接數(shù)據(jù)庫

sudo mysql -uroot -p

2. 創(chuàng)建一個用來賦予權(quán)限的賬戶(例如 rootdb)

CREATE USER 'rootdb'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'rootdb'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3.更新phpMyAdmin配置

打開文件/etc/dbconfig-common/phpmyadmin.conf

vim /etc/dbconfig-common/phpmyadmin.conf

4.修改你的配置文件內(nèi)容

# dbc_dbuser: database user
#       the name of the user who we will use to connect to the database.
dbc_dbuser='rootdb'
 
# dbc_dbpass: database user password
#       the password to use with the above username when connecting
#       to a database, if one is required
dbc_dbpass='123456'

解決方法二:

簡單粗暴,把原本已創(chuàng)建好的phpmyadmin賬戶賦予所有權(quán)限,執(zhí)行命令

GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'yourpasswd';
FLUSH PRIVILEGES;

OK了,使用剛才的賬號密碼登錄就可以看到所有數(shù)據(jù)庫了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容