*,为这个用户授予所有数据库的所有权限,而我正试图避免这种情况;我只想将授予权限限制在指定的数据库上。将数据库上的所有特权(带有授予选项)授予新用户s.t的正确SQL是什么?实际上,用户在指定的db?上被授予了 all 。(PHP7.2,MariaDB 10.1,Ubuntu18.04)
全局权限是使用*.*为priv_level授予的。全局权限包括管理
如果用户没有全局权限(mysql.user)或任何数据库级权限(mysql.db),则用户无法设置默认数据库:ERROR 1044 (42000): Access denied for user 'XXX'@'%' to database 'mysql'
但是,使用默认数据库可能很方便,例如,有许多旧的脚本依赖于此。到目前为止,我找到的唯一解决办
我正以用户“someuser”的身份连接到mysql服务器。当我从本地机箱连接到服务器时,我可以看到所有的数据库。show grants;显示了以下内容| Grants for dev@localhost| GRANT USAGE ON *.* TO 'someuser'@'localhost' IDENTIFIED BY PASSWORD '*' |当我SSH进入服务器并使用root登录到mysql