面试题答案
一键面试网络方面
- 原因分析:
- 主从服务器之间网络带宽不足,大量数据传输时出现瓶颈,导致主库的二进制日志无法及时传送到从库。
- 网络不稳定,存在丢包、延迟高等问题,影响主从之间数据交互。
- 恢复策略与优化措施:
- 检查网络带宽,如可使用
iperf
工具测试主从服务器之间的带宽。若带宽不足,联系网络管理员增加带宽。 - 排查网络不稳定因素,如检查网络设备(路由器、交换机等)的配置和运行状态,查看是否有异常的网络流量或干扰。可以通过
ping
命令长时间监测网络延迟和丢包情况,若存在不稳定,修复网络故障或更换网络线路。
- 检查网络带宽,如可使用
主库负载方面
- 原因分析:
- 主库上执行了大量复杂的写入操作,如大事务、全表扫描的更新或插入等,导致主库生成二进制日志速度过快,从库消费不及。
- 主库硬件资源(CPU、内存、磁盘 I/O)不足,处理事务和生成二进制日志的性能受限,间接影响从库复制。
- 恢复策略与优化措施:
- 优化主库上的写入操作,如将大事务拆分成多个小事务执行,避免全表扫描的更新和插入,使用合适的索引等。
- 检查主库硬件资源使用情况,如使用
top
查看 CPU 和内存使用,iostat
查看磁盘 I/O 情况。若硬件资源不足,考虑升级硬件,如增加 CPU 核心数、内存容量,更换更快的磁盘(如 SSD 替换 HDD)。
从库负载方面
- 原因分析:
- 从库除了进行复制操作外,还承担了大量的查询等其他业务负载,导致其没有足够资源及时应用主库的二进制日志。
- 从库硬件资源(CPU、内存、磁盘 I/O)不足,影响复制线程的处理速度。
- 恢复策略与优化措施:
- 分离从库的业务负载,如将查询业务转移到其他专门的只读库上,减轻从库压力。
- 检查从库硬件资源使用情况,同主库类似使用工具查看。若资源不足,升级硬件配置。
复制配置方面
- 原因分析:
- 从库的复制线程配置不合理,如复制线程数设置过少,不能充分利用系统资源来应用二进制日志。
- 主从库之间的复制过滤规则配置不当,可能导致从库需要额外处理一些不必要的操作,增加复制延迟。
- 恢复策略与优化措施:
- 根据从库的硬件资源合理调整复制线程数,在
my.cnf
中配置slave_parallel_workers
参数(MariaDB 10.0.9+ 支持),一般可设置为 CPU 核心数的倍数。 - 检查并优化复制过滤规则,确保只复制必要的数据,避免不必要的处理。
- 根据从库的硬件资源合理调整复制线程数,在
日志相关方面
- 原因分析:
- 主库的二进制日志文件过大,从库读取和应用时花费较长时间。
- 从库的中继日志(relay log)管理不当,如中继日志文件没有及时清理,占用大量磁盘空间,影响写入性能。
- 恢复策略与优化措施:
- 调整主库二进制日志文件的大小限制,通过
max_binlog_size
参数合理设置日志文件大小,避免单个日志文件过大。 - 配置从库自动清理中继日志,在
my.cnf
中设置relay_log_purge = 1
,确保中继日志及时清理,释放磁盘空间。同时可设置relay_log_space_limit
参数来限制中继日志总大小。
- 调整主库二进制日志文件的大小限制,通过