MySQL:授予**所有**数据库权限

我已经创建了数据库,例如“mydb”

创建数据库mydb字符集utf8 COLLATE utf8\u bin;
创建由密码“*哈希”标识的用户“myuser”@“%”;
将mydb.*上的所有权限授予“myuser”@“%”;
将mydb上的所有权限授予“myuser”@“%”;
将mydb上的创建权限授予“myuser”@“%”;
同花顺特权;

现在我可以从任何地方登录到数据库,但不能创建表

如何授予该数据库和(将来)表上的所有权限。我无法在“mydb”数据库中创建表。我总是得到:

创建表t(c字符(20)字符集utf8 COLLATE utf8\U bin);
错误1142(42000):针对表“t”的用户“myuser”@“…”的CREATE命令被拒绝
使用GRANT选项将mydb.*上的所有权限授予“%”myuser“@”;

这就是我如何创建我的;超级用户“;特权(尽管我通常会指定一个主机)

重要提示

虽然这个答案可以解决访问问题,WITH GRANT OPTION创建了一个可以编辑其他用户权限的MySQL用户

“授予”选项权限使您能够将自己拥有的权限授予其他用户或从其他用户中删除这些权限

出于安全原因,您不应将此类用户帐户用于公众有权访问的任何进程(即网站)。建议您创建一个仅具有数据库权限的用户,以便进行此类使用

发表评论