我想在MySQL中创建新的DB。
我以超级用户身份登录。 我为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数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| info_schema |
| sms_auto |
| smstest |
+--------------------+
请你帮我一下好吗
我已经在安全模式下启动了MySQL,然后分配了适当的权限(从这里引用)
在此之后,我更新了mysql.user表中相应主机和用户的特权。 刷新权限;
现在这对我有效你也可以参考更新特权的答案
确保您的用户权限设置正确,如-host localhost-user root和-pass{your pass word}
将*.*上的所有权限授予由密码标识的“root”@“%”;
。 为特定用户(如people)设置用户权限,然后按照示例grant all on people.*to由“password”标识的“root”@"localhost“;