mysql备份还原时提示权限不足怎么办_修正用户权限与属主
需为备份用户授予SELECT、LOCK TABLES、SHOW VIEW权限于指定库并执行FLUSH PRIVILEGES还原时若报ERROR 1044说明用户无目标库操作权限应确保GRANT作用域匹配还原库名如ON db_name.*。mysqldump 执行时报错 ERROR 1045 (28000): Access denied 怎么办不是密码错了也不是没输密码——是当前用户压根没被授予 SELECT、LOCK TABLES 或 SHOW VIEW 权限而 mysqldump 默认会尝试加锁和查视图元数据。先用 mysql -u root -p 登录检查目标用户权限SHOW GRANTS FOR backup_userlocalhost;最小必要权限组合是SELECT读数据、LOCK TABLES保证一致性、SHOW VIEW如果库中有视图RELOAD 不需要PROCESS 也不需要授予权限后必须执行 FLUSH PRIVILEGES;否则不会生效避免直接给 ALL PRIVILEGES尤其不能对 *.* 授予备份用户只需限定到具体数据库比如GRANT SELECT, LOCK TABLES, SHOW VIEW ON myapp_db.* TO backup_userlocalhost;还原时提示 ERROR 1044 (42000): Access denied for user ... to database还原命令里指定了数据库名如 mysql -u user db_name 但该用户对 codedb_name 没有 CREATE 或 INSERT 权限甚至可能连库都不存在。还原前确认目标库存在用 mysql -u root -p -e CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET utf8mb4;如果用普通用户还原需提前授权GRANT CREATE, INSERT, DROP, ALTER ON db_name.* TO backup_userlocalhost;更稳妥的做法是用 root 或高权限用户建库 设属主再把表级权限交给业务用户还原不走业务账号注意 SQL 文件开头是否有 USE db_name; 或 CREATE DATABASE 语句——如果有且用户无 CREATE DATABASE 权限就会失败此时应删掉或注释掉这些语句备份文件属主是 root但 mysql 用户无法读取怎么办Linux 下常见于用 sudo mysqldump 生成的文件属主是 root:root而后续用普通用户如 www-data执行还原时被系统拒绝读取。 Cleanup.pictures 智能移除图片中的物体、文本、污迹、人物或任何不想要的东西