作为phpMyAdmin中的root MySQL用户,我跑了:
GRANT INSERT ON db.* TO 'db_user'@'localhost'
并收到:
1044 - 用户访问被拒绝' db_user' @' localhost'到数据库' db'
我不明白为什么root无法将此权限授予db用户。
答案 0 :(得分:2)
你不是以root身份运行;您以db_user身份登录。也许这是您的浏览器会话的问题。注销并以root身份再次登录,然后重新运行命令
https://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html#error_er_dbaccess_denied_error
最坏的情况,请尝试其他浏览器。
答案 1 :(得分:2)
约翰,考虑到你得到的回应:
尝试以root身份再次登录,并在连接时通过检查主phpmyadmin窗口右侧的“Database Server”信息,检查用户root是否确实已连接。你应该看到这样的东西:
检查当前用户执行的权限:
SHOW GRANTS;
我想你知道用户的权限可以是全局的或特定于数据库的(仅与选定的数据库有关)
无论如何,使用sql命令行感到不舒服,通过执行以下操作可以更轻松地授予所需的权限:
如果您要向用户授予一些全局权限,请执行以下操作:
仅限特定于数据库的权限,请按照上述步骤1-3进行操作,然后执行以下操作:
请务必验证标题是否为您要引用的特定数据库授予权限。 (例如编辑权限:用户'db_user'@'localhost' - 数据库数据库)
我希望它对你有用。