mysql 访问被拒绝创建数据库

Gan*_*hav 6 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'
Run Code Online (Sandbox Code Playgroud)

我注意到一件事是我没有 mysql 数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| info_schema        |
| sms_auto           |
| smstest            |
+--------------------+
Run Code Online (Sandbox Code Playgroud)

请你帮助我

Gan*_*hav 1

我已经在安全模式下启动了MySQL,然后分配了适当的权限(从这里引用)

  1. 停止MySQL服务
  2. 运行 mysqld_safe --skip-grant-tables &
  3. 输入 MySQL -u root -p 并按 Enter 键。
  4. 输入您的密码
  5. 在MySQL命令行输入:use mysql;

之后,我更新了 mysql.user 表中适当主机和用户的权限。同花顺特权;

现在这对我有用,您也可以参考更新权限的答案