我在 Azure 上创建了一个云 SQL 表。我使用 MySQLWorkbench 和 DbVisualizer 访问它。然后我编写了一个查询来创建一个表,如下所示:
"CREATE TABLE `mysql`.`actual_sales` (
`Timestamp` TIMESTAMP NOT NULL,
`Transaction` INT NOT NULL,
`Item` VARCHAR(255) NOT NULL,
`restaurant_ID` VARCHAR(255) NOT NULL);"
但是,运行后,出现以下错误:1044 (42000): Access returned for user 'user_admin'@'%' to Database 'mysql'
我使用以下查询检查了权限:
SELECT * FROM `mysql`.`user` WHERE `User` = 'user_admin';
我注意到 Super_priv
、Create_tablespace_priv
设置为 N
。
我尝试使用以下内容将它们更新为 Y
:
UPDATE `mysql`.`user` SET `Super_priv` = 'Y' WHERE `User` = 'user_admin';
UPDATE `mysql`.`user` SET `Create_tablespace_priv` = 'Y' WHERE `User` = 'user_admin';
FLUSH PRIVILEGES;
SELECT `User`, `Grant_priv` FROM `mysql`.`user`;
但是,我再次收到 1044 (42000): Access Beenied for user 'user_admin'@'%' to Database 'mysql'
这是怎么回事?我该如何解决这个问题?
最佳答案
我们无法在默认数据库mysql
下创建表。您需要创建一个新数据库。
create database test1;
use test1;
CREATE TABLE `test1`.`actual_sales` (
`Timestamp` TIMESTAMP NOT NULL,
`Transaction` INT NOT NULL,
`Item` VARCHAR(255) NOT NULL,
`restaurant_ID` VARCHAR(255) NOT NULL);
关于mysql - `1044 (42000): Access denied for user ' 用户管理员 '@' % ' to database ' mysql '`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59675484/