面试题答案
一键面试配置主库步骤
-
启用二进制日志:
- 关键参数:在
my.cnf
配置文件中设置log-bin
参数,例如log-bin=/var/lib/mysql/mysql-bin.log
。这指定了二进制日志文件的路径。 - 注意事项:确保路径存在且MySQL有写入权限,重启MariaDB服务使配置生效。
- 关键参数:在
-
设置服务器唯一ID:
- 关键参数:在
my.cnf
中设置server-id
,每个主库的server-id
必须唯一,例如server-id=1
。 - 注意事项:
server-id
取值范围为1 - 2^32 - 1。
- 关键参数:在
-
创建用于复制的用户:
- 关键参数:使用
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip' IDENTIFIED BY 'password';
语句创建用户,指定用户名、允许连接的从库IP及密码。 - 注意事项:从库IP要准确,密码要足够强壮,创建完成后执行
FLUSH PRIVILEGES;
刷新权限。
- 关键参数:使用
-
获取主库状态信息:
- 关键参数:执行
SHOW MASTER STATUS;
获取File
和Position
值,这是从库连接主库所需的重要信息。 - 注意事项:获取状态后不要进行可能改变二进制日志的操作,如重启主库或进行数据修改,直到从库配置完成连接。
- 关键参数:执行
配置从库步骤
- 设置服务器唯一ID:
- 关键参数:在
my.cnf
中设置server-id
,从库的server-id
不能与主库及其他从库重复,例如server-id=2
。 - 注意事项:取值范围同样为1 - 2^32 - 1 ,设置后重启MariaDB服务。
- 关键参数:在
- 配置主库连接信息:
- 关键参数:使用
CHANGE MASTER TO
语句,如CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file_name', MASTER_LOG_POS=master_log_position;
,指定主库IP、复制用户、密码及主库二进制日志文件名和位置。 - 注意事项:信息必须准确无误,对于多源复制,需要为每个主库分别配置。
- 关键参数:使用
- 启动从库复制:
- 关键参数:执行
START SLAVE;
启动从库复制进程。 - 注意事项:启动后通过
SHOW SLAVE STATUS \G;
检查复制状态,确保Slave_IO_Running
和Slave_SQL_Running
都为Yes
,且Seconds_Behind_Master
的值正常(通常为0或接近0)。若有异常,根据错误信息排查解决。
- 关键参数:执行