我有一个演示 mysql 数据库,我希望所有用户都能看到。
如何将这个数据库上的 SELECT 授予所有 mysql 用户?
我试过了:
GRANT SELECT ON demodb.* TO ''@localhost;
这似乎运行了,但 demodb 数据库的可见性没有变化。
有什么帮助吗?
试试这个查询 -
INSERT INTO mysql.db(host, User, Db, select_priv)
SELECT host, user, 'demodb', 'Y' FROM mysql.user;
然后运行'FLUSH PRIVILEGES;' 应用权限。
更好的是,您的原始解决方案应该可以工作,并且不需要为每个新用户增加一行,但您需要刷新权限。我用它来设置我的全局数据库。
INSERT INTO mysql.db (host,user,db,Select_priv,Execute_priv) VALUE
('%','','demodb','Y','Y');
FLUSH PRIVILEGES;