工作原理
主从复制是数据库的一种灾备方案,通过逻辑binlog日志复制到要同步的服务器本地,然后本地线程读取日志的SQL语句,重新应用到mysql数据库
主从复制拷贝的不是文件是逻辑
主机(master)将改变记录到二进制日志(binary log),从机(slave)将主机的日志拷贝到自己的中继日志(relay log),然后读取执行中继日志修改数据库
意义
-
数据库热备
-
数据库备份可以在从数据库执行,避免影响业务
-
读写分离
要求
-
主服务器:
- 开启二进制日志
- 配置唯一的server-id
- 获得master二进制日志文件名及位置
- 创建一个用于slave和master通信的用户账号
-
从服务器:
- 配置唯一的server-id
-
- 使用master分配的用户账号读取master二进制日志
- 启用slave服务
相关配置
- 准备目录
binlog和relaylog
mkdir -p /data/mysql/{
binlog,relaylog}
chown -R mysql:mysql /data/mysql/
chmod -R 775 /data/mysql/{
binlog,relaylog}
-
修改配置文件
主机
server_id=1353306 # 重要,服务器id需要不相同#####################################必配 log_bin=/data/mysql/binlog/itpuxdb-binlog # 打开二进制日志#############################################必配 log_bin_index=/data/mysql/binlog/itpuxdb-binlog.index # 二进制日志的索引 log_bin开启后默认与其同目录 enforce_gtid_consistency=on # 强制gtid一致,开启后gtid才能开启#############################必配 gtid_mode