一.提示由於沒有密碼,拒絕登陸

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

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

一開始我使用UPDATE user SET Password=“123” where USER='root';而沒有用PASSWORD關鍵字去設定,每次登陸

[root@localhost wjf]# mysql -u root -p
   Enter password:
   ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

使用PASSWORD關鍵字去設定密碼不為明文後,登陸就成功了!

二.提示由於有使用者名稱為空,拒絕登陸

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

1.關閉mysql
   # service mysqld 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