当在mysql中创建新的数据库时,有可能会遇到以下错误提示:Access denied for user 'root'@'%' to database 'xxx',意思是这个用户没有权限操作这个数据库。
要解决这个问题,可以尝试以下几个步骤:
- 首先尝试重置root用户的密码:
mysql> SET PASSWORD FOR 'root'@'%'=PASSWORD('your_new_password');
其中,将your_new_password替换为你要设置的新密码。
- 如果重置密码并不能解决问题,那就需要授予root用户对该数据库的操作权限。可以使用以下命令:
mysql> GRANT ALL PRIVILEGES ON xxx.* TO 'root'@'%' IDENTIFIED BY 'your_password';
其中,将xxx替换为你要操作的数据库名,将your_password替换为你要设置的密码。
- 最后,记得对改动的权限进行刷新:
mysql> FLUSH PRIVILEGES;
示例1:
假设我在本地的MySQL中创建了一个名为test_db
的数据库,并且使用root
用户进行操作时出现了Access denied的提示。那么我可以按如下方式操作:
首先,重置root用户的密码:
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');
然后,授予root用户对test_db数据库的操作权限:
mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'root'@'localhost' IDENTIFIED BY '123456';
最后,刷新权限:
mysql> FLUSH PRIVILEGES;
示例2:
假设我在远程的MySQL中创建了一个名为test_db
的数据库,并且使用root
用户进行操作时出现了Access denied的提示。那么我可以按如下方式操作:
首先,重置root用户的密码:
mysql> SET PASSWORD FOR 'root'@'%'=PASSWORD('123456');
然后,授予root用户对test_db数据库的操作权限:
mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'root'@'%' IDENTIFIED BY '123456';
最后,刷新权限:
mysql> FLUSH PRIVILEGES;
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决mysql创建数据库后出现:Access denied for user ‘root’@’%’ to database ‘xxx’的问题 - Python技术站