一、机器的网卡/mac地址/ip地址不能一样
二、安装的mysql数据的auto.conf中的server-id不能一样
三、关闭防伙墙
四、mysql的 my.cof配制
主mysql配制
#主从配制
server-id=153
innodb_flush_log_at_trx_commit=1
#sysc_binlog=1
log-bin=meixi-bin
#0 表示读写 1只读 只参做从机
read-only=0
#mysql-8置日志文件保留的时长,单位是秒
#binlog-expire-logs-seconds=6000
#控制单个二进制日志大小。此参数的最大和默认值是1GB
max_binlog_size=200M
#可选设置不要复制的数据库
binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
#可选 设置需要复制的数据库,默认全部记录。
binlog-do-db=test_files
binlog-do-db=test_message
binlog-do-db=test_uaa
#设置binlog格式
#binlog_format=STATEMENT
设置完后重启mysql
进入mysql查看主库状态
show master status;
image.png
从库配制
#从机配制
server-id=156
#中继日志
relay-log=meixi-relay
五、建立专有主从复制用户
登录mysql后执行
5.5、5.7版本mysql
grant replication slave on *.* to '用于从机用户名'@'从机数据库ip' identified by '从机密码'
grant replication slave on *.* to 'mxslave'@'%' identified by 'meixi123456'
查看:
show grants for 'mxslave'@'%';
5.8版本mysql
CREATE USER 'slave1'@'%’IDENTIFIED BY '123456’;
GRANT REPLICATION SLAVE ON *.* To 'slave1'@'%';
#此语句必须执行。否则见下面。
ALTER USER 'slave1'@'%’工IDENTIFIED WITH mysql_native_password BY '123456' ;
flush privileges ;
六、从机配制
登录MySQL从机
CHANGE MASTER TO MASTER_HOST='192.168.1.153' ,MASTER_USER='mxslave' ,MASTER_PASSWORD='meixi123456' ,MASTER_LOG_FILE=' meixi-bin.000001' ,MASTER_LOG_POS=592;
CHANGE MASTER TO MASTER_HOST='192.168.1.153' ,MASTER_USER='mxslave' ,MASTER_PASSWORD='meixi123456' ,MASTER_LOG_FILE=' meixi-bin.000001' ,MASTER_LOG_POS=592;
然后再执行
start slave
START SLAVE;
如果之前开过从机会再次执行会报错的。要先停止后再执行
image.png
STOP SLAVE
如果还报错
执行reset slave;
reset slave;
七、查看从机状态
show slave status;
SHOW SLAVE STATUS\G;
image.png
八、找错误
确保这两个参数都是YES就表示成功,这里IO_Running 为No代表不成功。在下面看Error信息看错误日志
image.png
这里错语中报没有找到对应binlog文件。
image.png
发现前面命令中多了一个空格。纠正后 reset slave后正常。
image.png
网友评论