ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
在centos下安裝好了mysql,用root帳號(hào)連上mysql,然后創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),提示下圖錯(cuò)誤:
提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。網(wǎng)上找了一個(gè)比較流行的方法(見(jiàn)方法一),搞定了。今天又用這個(gè)試了試,卻搞不定,在網(wǎng)上找了半天,終于發(fā)現(xiàn)是因?yàn)閙ysql數(shù)據(jù)庫(kù)的user表里,存在用戶名為空的賬戶即匿名賬戶,導(dǎo)致登錄的時(shí)候是雖然用的是root,但實(shí)際是匿名登錄的,通過(guò)錯(cuò)誤提示里的''@'localhost'可以看出來(lái),于是解決辦法見(jiàn)方法二。
方法一:
1.關(guān)閉mysql
?? # service mysqld stop
2.屏蔽權(quán)限
?? # mysqld_safe --skip-grant-table
?? 屏幕出現(xiàn): Starting demo from .....
3.新開(kāi)起一個(gè)終端輸入
?? # mysql -u root mysql
?? mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
?? mysql> FLUSH PRIVILEGES;//記得要這句話,否則如果關(guān)閉先前的終端,又會(huì)出現(xiàn)原來(lái)的錯(cuò)誤
?? mysql> q
方法二:
1.關(guān)閉mysql
?? # service mysqld stop
2.屏蔽權(quán)限
?? # mysqld_safe --skip-grant-table
?? 屏幕出現(xiàn): Starting demo from .....
3.新開(kāi)起一個(gè)終端輸入
?? # mysql -u root mysql
?? mysql> delete from user where USER='';
?? mysql> FLUSH PRIVILEGES;//記得要這句話,否則如果關(guān)閉先前的終端,又會(huì)出現(xiàn)原來(lái)的錯(cuò)誤
?? mysql> q
參考網(wǎng)址:http://blog.csdn.net/tys1986blueboy/article/details/7056835
冷靜思考,勇敢面對(duì),把握未來(lái)!