1044: Access denied for user to database(用户对数据库的访问被拒绝)
MySQL含义
用户虽然认证成功,但没有在指定数据库上操作的权限。
原因
用户在该数据库上没有 GRANT、数据库名错误、权限是为其他主机(user@host)定义的,或数据库不存在。
解决方法
查看用户权限:SHOW GRANTS FOR 'app_user'@'host'。授予所需权限:GRANT ALL PRIVILEGES ON mydb.* TO 'app_user'@'host';(GRANT 立即生效,不需要 FLUSH PRIVILEGES)。核实主机匹配和数据库名是否正确。遵循最小权限原则,只授予所需的权限。
同一数据库的其他条目
- 1451Cannot delete or update a parent row: a foreign key constraint fails(无法删除或更新父行:外键约束失败)
- 1452Cannot add or update a child row: a foreign key constraint fails(无法添加或更新子行:外键约束失败)
- 1366Incorrect string/integer value for column(列的字符串/整数值不正确)
- 1264Out of range value for column(列的值超出范围)
- 1052Column 'x' in field list is ambiguous(字段列表中的列 'x' 不明确)
- 1136Column count doesn't match value count(列数与值数不匹配)
- 1048Column 'x' cannot be null(列 'x' 不能为 null)