面试题答案
一键面试主库关键配置及作用
- log-bin:
- 配置:在
my.cnf
文件中设置log-bin=mysql-bin
。 - 作用:开启二进制日志功能,主库将数据库的更改操作记录到二进制日志中,这些日志是主从复制的基础,从库通过读取主库的二进制日志来同步数据。
- 配置:在
- server - id:
- 配置:设置一个唯一的整数值,例如
server - id=1
。 - 作用:用于标识主库,在一个复制拓扑中,每个MySQL实例(主库和从库)都必须有一个唯一的
server - id
,这有助于主从库之间正确识别和通信。
- 配置:设置一个唯一的整数值,例如
- binlog - do - db 或 binlog - ignore - db:
- 配置:
binlog - do - db=your_database_name
,只记录指定数据库的二进制日志;binlog - ignore - db=your_database_name
,忽略指定数据库的二进制日志。 - 作用:
binlog - do - db
用于指定只对某些数据库的更改记录到二进制日志,可减少日志量,提高性能;binlog - ignore - db
用于排除某些数据库的更改不记录到二进制日志,比如一些测试数据库等。
- 配置:
从库关键配置及作用
- server - id:
- 配置:设置一个与主库及其他从库不同的整数值,例如
server - id=2
。 - 作用:用于标识从库,在复制拓扑中确保从库有唯一标识,方便主从库之间的通信和识别。
- 配置:设置一个与主库及其他从库不同的整数值,例如
- relay - log:
- 配置:在
my.cnf
文件中设置relay - log=mysql-relay-bin
。 - 作用:从库将从主库接收的二进制日志事件记录到中继日志中,然后SQL线程从中继日志读取并应用这些事件,从而使从库的数据与主库保持同步。
- 配置:在
- read - only:
- 配置:设置
read - only=1
。 - 作用:使从库进入只读模式,防止从库上的意外写入操作,保证从库数据与主库的一致性,除非使用具有
SUPER
权限的用户进行写入。
- 配置:设置
- replicate - do - db 或 replicate - ignore - db:
- 配置:
replicate - do - db=your_database_name
,只复制指定数据库;replicate - ignore - db=your_database_name
,忽略指定数据库的复制。 - 作用:
replicate - do - db
用于指定只对某些数据库进行复制,replicate - ignore - db
用于排除某些数据库不进行复制,可根据业务需求灵活控制从库复制的数据范围。
- 配置: