ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'school'
时间: 2023-08-07 16:03:09 浏览: 139
深度与偏差-linux连接mysql报错:access denied for user ‘root’@‘localhost’(using password: yes)的解决方法
引用[2]:根据错误提示"ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'mysql'",这个错误是因为用户'root'@'%'没有访问数据库'school'的权限。解决这个问题的方法有两种。方法一是通过修改用户的权限来解决,方法二是通过删除匿名账户来解决。
方法一:
1. 关闭MySQL服务:`service mysqld stop`
2. 屏蔽权限:`mysqld_safe --skip-grant-table`
3. 在新的终端中输入以下命令:
```
mysql -u root mysql
mysql> GRANT ALL PRIVILEGES ON school.* TO 'root'@'%' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> \q
```
其中,'password'是你想要设置的密码。
方法二:
1. 关闭MySQL服务:`service mysqld stop`
2. 屏蔽权限:`mysqld_safe --skip-grant-table`
3. 在新的终端中输入以下命令:
```
mysql -u root mysql
mysql> DELETE FROM user WHERE User='';
mysql> FLUSH PRIVILEGES;
mysql> \q
```
请注意,无论使用哪种方法,都需要在修改权限或删除匿名账户后重新启动MySQL服务。
阅读全文