mysql数据库执行全量备份影响业务_利用xtrabackup实现无锁备份

张开发
2026/4/16 10:51:37 15 分钟阅读

分享文章

mysql数据库执行全量备份影响业务_利用xtrabackup实现无锁备份
会但不是必然——取决于备份方式mysqldump加全局读锁会导致写入阻塞xtrabackup物理备份不锁InnoDB表仅毫秒级FTWRL获取位点不影响业务。全量备份期间业务会卡顿甚至超时吗会但不是必然——取决于备份方式。直接用 mysqldump 加全局读锁FLUSH TABLES WITH READ LOCK会导致写入阻塞高并发下接口响应明显变慢甚至触发超时而 xtrabackup 的物理备份在大多数情况下不锁表InnoDB 表全程可读可写。关键区别在于xtrabackup 通过拷贝 InnoDB 的数据文件 redo log 实现一致性它依赖的是 InnoDB 自身的崩溃恢复机制而非 SQL 层锁。MyISAM 表仍会被锁但现代业务基本不用 MyISAM备份开始时会有极短的 FTWRL毫秒级仅用于获取 binlog 位置和 LSN不影响业务感知如果备份过程中 redo log 生成过快比如大事务持续提交可能拉长 backup_log_copy 阶段间接增加备份时间但不阻塞 DMLxtrabackup 备份命令里哪些参数不能错三个核心参数一旦配错轻则备份失败重则恢复出错或丢失一致性--backup 必须显式指定漏掉就变成 prepare 或 copy-back 操作--target-dir 路径必须为空目录否则报错 already exists且需保证磁盘空间 ≥ 数据目录大小 × 1.2含 redo 日志增量--user 和 --password 要有 RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT 权限缺 REPLICATION CLIENT 会导致无法获取 binlog 位点影响后续搭建从库示例正确命令xtrabackup --backup --userbackup_user --passwordxxx --target-dir/data/backup/20240520/备份后不执行 --prepare 就恢复会发生什么直接 copy-back 会启动失败报错类似 InnoDB: Database page corruption on disk 或 innodb_page_size mismatch。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能

更多文章