1. 程式人生 > >解決ERROR 1044 (42000): Access denied for user

解決ERROR 1044 (42000): Access denied for user

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

剛在伺服器上裝上mysql,發現以root加密碼的方式總是登入不了,而直接輸入mysql則直接就可以登入了。或者以mysql –u root方式可以登入,但是實習上登入上去也是一個空使用者(''@'localhost'),不是root使用者,看不了其他資料庫。

乾貨,刪除空使用者方法                                                               

1.關閉mysql

service mysqld stop

或者

/etc/init.d/mysql stop

2.遮蔽許可權

mysqld_safe --skip-grant-table

螢幕出現: Starting demo from .....
3.新開起一個終端輸入

mysql -u root mysql
mysql> delete from user where USER='';
mysql> FLUSH PRIVILEGES;
mysql> \q

4.關閉所有終端,重啟或者開啟mysql。

乾貨,為root設定密碼                                                                

1.關閉mysql

service mysqld stop

2.遮蔽許可權

mysqld_safe --skip-grant-table

螢幕出現: Starting demo from .....
3.新開起一個終端輸入

mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> \q