实验环境centos7安装mysql5.6.43为例
两台虚拟机配置一样
主:192.168.238.140
从:192.168.238.141
因为centos7版本没有my.cnf文件,这里我们安装的mysql5.6.43默认文件在/usr/share/mysql/下的my-default.cnf
所以我们将my-default.cnf cp到/etc/下并修改成my.cnf

一、配置master主库
1.[root@localhost ~]# vim /etc/my.cnf
文件内容
log-bin=mysql-bin #开启二进制日志
server-id=140 #标识唯一id(必须),一般使用ip最后位
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql
binlog-do-db=anchent #指定需要同步的数据库(和slave是相互匹配的),可以设置多个
binlog_format=MIXED #设置存储模式不设置默认
expire_logs_days=7 #日志清理时间
max_binlog_size=100m #日志大小
binlog_cache_size=4m #缓存大小
max_binlog_cache_size=521m #最大缓存大小

2.重启mysql
systemctl restart msyql

3.进去mysql设置允许从库获得主库日志  注:这里使用root用户配置,不建议使用,正常使用新创建的用户进行授权
[root@localhost ~]# mysql -u root -p

#给从库放权限
mysql>GRANT FILE ON . TO 'root'@'192.168.238.141' IDENTIFIED BY 'root password';   #创建用户
mysql>GRANT REPLICATION SLAVE ON . TO 'root'@'192.168.238.141' IDENTIFIED BY 'root password';  #修改用户权限
mysql>select host,user,password from mysql.user;  #查看是否修改成功
mysql>FLUSH PRIVILEGES;   #刷新
注,在这里我们同步的是库anchent,如果没有这个库的话,需要新建下。

4.重启MySQL,登录MySQL,查看主库信息
mysql> show master status;

 注:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对

二、从库配置
1.在my.cnf中修改配置文件
[root@localhost ~]# vim /etc/my.cnf
log-bin=mysql-bin
server-id=141 #标识唯一id(必须),一般使用ip最后位
binlog-ignore-db=information_schema
binlog-ignore-db=cluster
binlog-ignore-db=mysql #与主库配置一直
replicate-do-db=anchent #这里同步的库为anchent,需要和从库一致
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60

2.重启mysql,登陆mysql
mysql> stop slave; #关闭Slave
mysql> change master to
master_host='192.168.238.140',master_user='root',master_password='rootpassword',master_log_file='mysql-bin.000003', master_log_pos=120; #设置连接主库信息
mysql> start slave; #开启Slave
注:上面的master_log_file是在配置Master的时候的File字段, master_log_pos是在配置Master的Position 字段。一定要一一对应

3.查看信息
mysql> show slave status\G;

至此主从同步已经配置完成,可在主库anchent中去测试加删改,看从库中是否同步。如不能同步需要进一步去排查。

这里添加我在配置过程中遇到的几个问题
1.因为我是用虚拟机直接克隆过的,所以报以下错误

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
提示主从UUID错误,主和从库的uuid编号必须是一致的。
修改如下:
[root@localhost ~]# vim /var/lib/mysql/auto.cnf

改成不一样及可

2.从库用户没有权限访问主库
出现以下报错
error connecting to master 'root@192.168.3.28:3306' - retry-time: 60 retries: 1
解决方法,查看主库是否授权,查看change master to... 是否有用户密码ip填写错误