Access denied for user ''@'localhost' to database 'mysql'

1093 ワード

ローカルでrootでMySQLにログインすると、「Access denied for user'@'localhost'to database'mysql'」...
大まかな意味は、ローカルの空のユーザーがmysqlデータベースにアクセスすることを禁止することです.
 
mysqlデータベースのuserテーブルに匿名アカウント、すなわちユーザ名が空であるため、クライアントがデータベースにログインする際に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

   :
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