发表于 2019-4-17 16:55:18

centos 7 配置mysql5.6.43主从同步

  实验环境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.# 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用户配置,不建议使用,正常使用新创建的用户进行授权
# 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中修改配置文件
# 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编号必须是一致的。
修改如下:
# vim /var/lib/mysql/auto.cnf
  改成不一样及可
  2.从库用户没有权限访问主库
出现以下报错
error connecting to master 'root@192.168.3.28:3306' - retry-time: 60retries: 1
解决方法,查看主库是否授权,查看change master to... 是否有用户密码ip填写错误



页: [1]
查看完整版本: centos 7 配置mysql5.6.43主从同步