主库 master
创建公用用户授予复制权限
开启bin-log日志
配置数据库
server-id = 300 #必须唯一
log_bin = mysql-bin #开启及设置二进制日志文件名称
binlog_format = MIXED #日志格式
sync_binlog = 1
expire_logs_days =15 #二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。
binlog_cache_size = 128m #设置bin_log缓存大小
max_binlog_cache_size = 512m #最大缓存
max_binlog_size = 256M #bin_log大小
binlog-do-db = test3 #要同步的数据库
binlog-ignore-db = mysql #不需要同步的数据库
binlog_ignore_db = information_schema
binlog_ignore_db = performation_schema
binlog_ignore_db = sys
配置后重启mysql
查看主库状态
命令 show master status;
返回 File: mysql-bin.000003
Position: 438
Binlog_Do_DB: test5
Binlog_Ignore_DB: mysql,information_schema,performation_schema,sys
从库
mysql 的my.cnf中
log-bin=master-a-bin
binlog-format=ROW
server-id=218
配置后重启mysql
然后在从库中执行sql
CHANGE MASTER TO
MASTER_HOST='192.168.10.212', #主服务器ip
MASTER_PORT=4300, #主服务端口号
MASTER_USER='slave', #通用的账户
MASTER_PASSWORD='123456', #密码
MASTER_LOG_FILE='mysql-bin.000003', #对应主库中查询的master状态中File
MASTER_LOG_POS=438 #对应主库中查询的master状态中Position
for channel '300'; #定义通道名称
启动
start slave;
查询:
show slave status;
stop slave;
//重置
RESET SLAVE ALL
查询全局状态
show global variables like 'binlog%'
Slave_IO_Running】和【Slave_SQL_Running】都是Yes,则同步是正常的
Slave_IO_Running 返回No原因分析
(1)网络不通
(2)防火墙端口未开放
(3)mysql账户密码错误
(4)mysql主从机配置文件写错
(5)配置从机连接语法错误
(6)主机未开放账户连接权限
[参考别人的](https://blog.youkuaiyun.com/qq_36756682/article/details/109647266)
//忽略表
CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = ('db1.new%', 'db2.new%');