MYSQL配置复制拓扑知识点
目录
1.关于MySQL主服务器,以下哪项是正确的?
2.最简单的MySQL复制通过单向、日志传输、异步机制实现,形成主从关系。
3.复制的常见用途包括?
4.MySQL复制采用日志传输机制:主服务器将所有数据变更存储在日志中,从服务器获取这些日志文件并执行变更。该日志在MySQL中称为什么?
5.从服务器必须永久连接主服务器才能接收更新。
6.基于语句的复制有哪些缺点?
7.哪个线程负责将二进制日志从主服务器下载到本地中继日志文件集?
1.关于MySQL主服务器,以下哪项是正确的?
a. 单个主服务器可拥有的从服务器数量没有限制
b. 从服务器可以使用与主服务器不同版本的MySQL
c. 在生产环境中通常将从服务器数量限制在30个以内
d. 以上全部
答案:d. 以上全部
解析:
a. 正确:MySQL理论上支持无限数量的从服务器,实际受限于网络带宽、主库负载等资源。
b. 正确:从库可与主库使用不同版本的MySQL(需满足官方版本兼容性),例如主库用MySQL 8.0,从库用MySQL 5.7(部分功能受限)。
c. 正确:生产环境中通常建议从库数量不超过30台,以避免主库资源(如网络I/O、二进制日志传输)成为瓶颈。
2.最简单的MySQL复制通过单向、日志传输、异步机制实现,形成主从关系。
a. 正确
b. 错误
答案:a. 正确
解析:
MySQL标准复制是异步的(主库不等待从库确认即提交事务)。
单向:数据仅从主库流向从库。
日志传输:依赖二进制日志(Binary Log)实现变更传输。
3.复制的常见用途包括?
a. 横向扩展解决方案
b. 高可用性
c. 数据分析
d. 以上全部
答案:d. 以上全部
解析:
a. 横向扩展(Scale-out):通过多个从库分散读请求。
b. 高可用(High Availability):主库故障时可快速切换至从库。
c. 数据分析(Analytics):在从库运行报表查询,避免影响主库性能。
4.MySQL复制采用日志传输机制:主服务器将所有数据变更存储在日志中,从服务器获取这些日志文件并执行变更。该日志在MySQL中称为什么?
a. 从服务器日志 (Slave log)
b. 主服务器日志 (Master log)
c. 二进制日志 (Binary log)
d. 错误日志 (Error log)
答案:c. 二进制日志(Binary log)
解析:
二进制日志(binlog)记录所有数据修改事件(如INSERT/UPDATE/DELETE)。
错误选项:
a. Slave log:不存在该术语。
b. Master log:非正式名称,实际指二进制日志。
d. Error log:记录服务器错误信息,与复制无关。
5.从服务器必须永久连接主服务器才能接收更新。
a. 正确
b. 错误
答案:b. 错误
解析:
从库可临时断开后重连,并自动恢复同步(通过记录已读取的二进制日志位置点)。
但长时间断开可能导致主库删除旧的二进制日志文件,此时需手动重建复制。
6.基于语句的复制有哪些缺点?
a. 复制所需的磁盘空间和网络带宽更大
b. 复制发生在行级别
c. 某些函数可能无法正确复制到远程服务器
d. 以上都不是
答案:c. 某些函数可能无法正确复制到远程服务器
解析:
c. 正确:SBR复制SQL语句,若语句中包含非确定性函数(如NOW()、RAND()),在从库执行结果可能与主库不一致。
错误选项:
a. 描述的是行级复制(RBR)的缺点(RBR日志量更大)。
b. 描述的是RBR机制,而非SBR的缺点。
7.哪个线程负责将二进制日志从主服务器下载到本地中继日志文件集?
a. 二进制线程 (BINARY_THREAD)
b. I/O线程 (IO_THREAD)
c. SQL线程 (SQL_THREAD)
d. 主线程 (MASTER_THREAD)
答案:b. I/O线程(IO_THREAD)
解析:
I/O线程:从主库拉取二进制日志事件,写入从库的中继日志(Relay Log)。
SQL线程:从中继日志读取事件并在从库执行。
其他选项为干扰项(MySQL无BINARY_THREAD、MASTER_THREAD)。