猿问

授予*数据库上的所有*特权

授予*数据库上的所有*特权

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


CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;

CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';

GRANT ALL ON mydb.* TO 'myuser'@'%';

GRANT ALL ON mydb TO 'myuser'@'%';

GRANT CREATE ON mydb TO 'myuser'@'%';

FLUSH PRIVILEGES;

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


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


CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);

ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'


喵喵时光机
浏览 629回答 3
3回答

拉丁的传说

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%' WITH GRANT OPTION;这就是我如何创建我的“超级用户”特权(虽然我通常会指定一个主机)。重要注记虽然这个答案可以解决访问问题,WITH GRANT OPTION创建一个MySQL用户,该用户可以编辑其他用户的权限.授予选项特权使您能够授予其他用户或从其他用户中删除您自己拥有的特权。出于安全考虑,您不应该在任何公众可以访问的进程(即网站)中使用这种类型的用户帐户。建议你创建仅具有数据库权限的用户为了这种用途。
随时随地看视频慕课网APP
我要回答