mysql访问被拒绝创建数据库

时间:2017-06-08 13:22:10

标签: mysql

我想在mysql中创建新的数据库。

我以root身份登录。我为root用户设置了密码。

mysql> SHOW GRANTS FOR root;

+---------------------------------------------------------------------------------------------+

| Grants for root@%                                                                           |

+---------------------------------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD <secret> WITH GRANT OPTION |

| GRANT PROXY ON ''@'' TO 'root'@'%' WITH GRANT OPTION                                        
|

+---------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> create database xxx;

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

有一点我注意到我没有mysql db

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| info_schema        |
| sms_auto           |
| smstest            |
+--------------------+

请你帮帮我

2 个答案:

答案 0 :(得分:0)

确保正确设置用户权限 喜欢-host localhost -user root和-pass {你的密码}

上授予所有特权。通过密码识别''%'@'%'。将用户权限设置为像人一样的特定用户,然后按照示例授予所有人权限。*到'root'@'localhost'由'PASSWORD'标识;

答案 1 :(得分:0)

我已经在安全模式下启动了MySQL,然后分配了适当的权限(参考here

  1. 停止MySQL服务
  2. 运行mysqld_safe --skip-grant-tables&amp;
  3. 键入MySQL -u root -p并按Enter键。
  4. 输入您的密码
  5. 在MySQL命令行输入:use mysql;
  6. 在此之后,我更新了mysql.user表中适当主机和用户的权限。同花顺特权;

    现在这对我有用 您也可以参考update privilages

    的答案