匿名用户mysql数据库定时备份占用大量线程,导致全局锁表,有啥好的解决方法么
mysql数据库定时备份占用大量线程,导致全局锁表,有啥好的解决方法么
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
6条回答
默认
最新
是使用的msyqldump 方式备份么, 可以加上参数 --single-transaction 只对innodb 事务表有效
评论
有用 0mysql备份:xtrabackup 了解一下
https://www.modb.pro/doc/6042
希望对你有所帮助
评论
有用 01、如果库不太大的话,可以使用mysqldump,都是innodb的表,可以用以下命令:
mysqldump -h127.0.0.1 -uroot -P3306 -p --default-character-set=utf8mb4
--single-transaction --set-gtid-purged=off
--master-data=2 --hex-blob --triggers --routines --events --all-databases >
all_db_with_data.sql
重点是添加--single-transaction参数,可以防止出现锁库的情况。
2、如果库比较大,建议使用xtrabackup,可以实现热备份。
不论mysqldump还是xtrabackup,都要在业务低峰实施,防止未知情况导致数据库堵塞。
评论
有用 0你要查明所谓"占用大量线程,导致全局锁表"的原因:
- 是否多线程备份,谁在持有锁,持有什么锁,谁被阻塞,为什么被阻塞?
- 备份时,主库是否有高并发
然后再定解决方案:
- 在业务低峰期备份
- 设置备份超时时长(xtrabckup);使用特定的备份账号,监控锁信息并及时处理
- 在从库备份
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


