MySQL 主从搭建
准备:
- 确保MySQL大版本相同
- 在主MySQL创建远程登录用户
1. 配置主库
# 1. 在主库开启配置 然后重启主库
[mysqld]
log-bin=/data/mysql/log/mysql-bin.log
server-id= 1
# 2. 查看主库状态
show master status
主库需要的信息:
2. 配置从库
# 1. 配置从库 然后重启从库
log-bin = mysql-bin
binlog-format = mixed
server-id = 158
replicate-do-db = 你要同步的数据库
relay-log = relay-bin
log-slave-updates = ON
# 忽略主键重复插入错误
slave-skip-errors = 1062
# 忽略修改了未存在数据
slave-skip-errors = 1032
# 2. 查看从库状态
show slave status
# 3. 设置连接主库
CHANGE MASTER TO
MASTER_HOST='主库ip',
MASTER_USER='主库可连接用户',
MASTER_PASSWORD='连接密码',
# 主库的File
MASTER_LOG_FILE='mysql-bin.000033',
# 主库的Position
MASTER_LOG_POS=477465;
# 4. 停止从库
stop slave
# 5. 开启从库
start slave
# 6. 查看从库状态 Last_Error 就是错误信息-注意这里
show slave status

3.常见问题
- 主从GTID模式不一致
# 依次执行即可
set @@global.gtid_mode=OFF;
set @@global.gtid_mode=OFF_PERMISSIVE;
set @@global.gtid_mode=ON_PERMISSIVE;
set @@global.gtid_mode=ON;
- 1062错误, 是主插入从的时候, 从已经有这个主键了, 插入错误
一般配置无效, 需要删除从库的主键, 然后stop->在sart从库
- Variable ‘gtid_mode’ can’t be set to the value of ON_ENFORCE_GTID_CONSISTEN
执行下面一句然后在依次执行1即可
set @@global.enforce_gtid_consistency = ON
















