mysql主从复制(master-slave)实录

1、VWare构建两台虚拟机,win7系统;

备注:VWare构建的虚拟机极有可能导致相互间ping不通,会对后续操作产生极大影响,因此要在开始就排除该异常;

2、基本信息:

      master的IP:192.168.8.129;

      slave的IP:192.168.8.130;

      mysql:mysql-5.7.x

3、开始配置:

一、主服务器(master)配置

1、修改MySQL配置文件my.ini

[mysqld]

log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=1
sync_binlog=1
binlog_format=mixed
binlog-do-db=test
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema

配置完成后重启MySQL服务。

2、授权给从服务器(slave)同步数据的账号密码

GRANT REPLICATION SLAVE ON *.*TO 'slave1'@'192.168.8.130' IDENTIFIED BY '123';

参数说明:

  • slave1:slave连接master使用的账号
  • IDENTIFIED BY '123' :slave连接master使用的密码
  • 192.168.8.130:slave IP

执行命令show master status;

注意结果中的File和Position,配置从服务器(slave)时会用到

file:mysql-bin.000007

position:154



二、从服务器(slave)配置

1、修改MySQL配置文件my.ini

[mysqld]

server-id=2
log-bin=mysql-bin
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1

注意:slave的server-id与master的server-id不能一致,必须保证是唯一的。

2、设置连接主服务器(master)的信息

change master to master_host='192.168.8.129',master_user='slave1',master_port=3306,master_password='123',master_log_file='mysql-bin.000007',master_log_pos=154

参数说明:

  • master_host:master IP
  • master_user:master数据库通过GRANT授权的账号
  • master_port:master数据库使用的端口号
  • master_password:master数据库通过GRANT授权的密码
  • master_log_file:master数据库中通过show master status显示的File名称
  • master_log_pos:master数据库中通过show master status显示的Position数据

重启MySql服务。

执行命令:start slave。

执行命令:show slave status

当Slave_IO_Running与Slave_SQL_Running都为Yes时才算配置成功。

此时,master服务器上test数据库里的数据就能同步到slave服务器上的test数据库中。


问题备份:

1、Slave_IO_Running:NO

两台虚拟机互相ping不通过,调整后重启mysql,仍不行!

查看mysql错误日志发现:

[ERROR] Slave I/O for channel '': 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. Error_code: 1593


出现这个问题的原因是:我创建完一台虚拟机并安装玩mysql后,直接克隆一台新的虚拟机。这也导致了两台虚拟机的mysql文件都是一样的!server-uuid参数在auto.cnf文件,位于 mysql【data】路径下,修改后要重启mysql!

本博客是参考了网上大牛们的文章的配置实录,感谢大牛们的辛勤付出!

猜你喜欢

转载自blog.csdn.net/shenya2/article/details/52199110