
1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。
比如导出单个数据库 ytt: mysqldump ytt >/tmp/ytt.sql;
恢复也非常简单:mysql </tmp/ytt.sql
缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。
2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。
其他缺点和 mysqldump 一样。
3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。
dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例 dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库 load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件1.从库太多导致复制延迟优化:建议从库数量3-5个为宜
2.从库硬件比主库硬件差
优化:提升硬件性能
3.慢SQL语句过多
优化:SQL语句执行时间太长,需要优化SQL语句
4.主从复制的设计问题
优化:主从复制单线程,可以通过多线程IO方案解决;另外MySQL5.6.3支持多线程IO复制。
5.主从库之间的网络延迟
优化:尽量链路短,提升端口带宽
6.主库读写压力大
优化:前端加buffer和缓存。主从延迟不同步:
不管有多延迟,只要不影响业务就没事
7、业务设计缺陷导致延迟影响业务
优化:从库没有数据改读主库
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)