"Host 'localhost' is not allowed to connect to this MySQL server" 的原因及解決辦法
今天在操作數據庫的是否發現突然無法啓動MYSQL服務,想了想原因是因爲自己改動了my.ini文件導致的。所以大家千萬不要隨便改哦~
解決無法啓動mysql的問題很容易,在安裝根目錄下都會有my.ini文件的備份。我們可以根據以前的_bak文件直接恢復。
還有一個問題就是 "Host 'localhost' is not allowed to connect to this MySQL server"
重裝MYSQL後,發現MYSQL數據庫密碼爲空,則update了 user表裏的root密碼,重新連接,發現出現"Host 'localhost' is not allowed to connect to this MySQL server" ,真是離奇的事情一件接一見
後來回想了一下發現,因爲只是update了root,但是MYSQL是有個訪問控制表,root的訪問控制表未更新,就導致了無法訪問mysql
網上找到的解決方法,應該是跳過該表就可以直接使用了,但是這個放在服務器上還是會有一定的風險,那就是任何人在任何地方都可以訪問你的MYSQL,如果安全重要的話還是重新裝一下數據庫好了。
編輯 my.ini linux下爲/etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
目的是爲了:
跳過MySQL的訪問控制,任何人都可以在控制檯以管理員的身份進入MySQL數據庫。
需要注意的是在修改完密碼以後要把MySQL服務器停掉重新啓動纔會生效
重啓mysql服務!
解決無法啓動mysql的問題很容易,在安裝根目錄下都會有my.ini文件的備份。我們可以根據以前的_bak文件直接恢復。
還有一個問題就是 "Host 'localhost' is not allowed to connect to this MySQL server"
重裝MYSQL後,發現MYSQL數據庫密碼爲空,則update了 user表裏的root密碼,重新連接,發現出現"Host 'localhost' is not allowed to connect to this MySQL server" ,真是離奇的事情一件接一見
後來回想了一下發現,因爲只是update了root,但是MYSQL是有個訪問控制表,root的訪問控制表未更新,就導致了無法訪問mysql
網上找到的解決方法,應該是跳過該表就可以直接使用了,但是這個放在服務器上還是會有一定的風險,那就是任何人在任何地方都可以訪問你的MYSQL,如果安全重要的話還是重新裝一下數據庫好了。
編輯 my.ini linux下爲/etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
目的是爲了:
跳過MySQL的訪問控制,任何人都可以在控制檯以管理員的身份進入MySQL數據庫。
需要注意的是在修改完密碼以後要把MySQL服務器停掉重新啓動纔會生效
重啓mysql服務!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.