使用vmware搭建mysql主从数据库

今天搭建了一套mysql主从数据库,但是搭建过程中遇到一个问题在这里简单介绍一下:

被库启动后报错如下:

错误1:

2016-12-03T15:09:15.347102Z 6 [ERROR] Slave I/O for channel '': error connecting to master 'replay@192.168.57.130:3306' - retry-time: 60  retries: 9, Error_code: 2003

答疑: MYSQL默认绑定了127.0.0.1,其他机器无法账号密码登录,所以在配置前需要将my.cnf中的bing_address注释掉

错误2:

2016-12-03T15:20:24.449985Z 2 [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

由于我是拷贝了vmware的ubuntu虚拟机,所以mysql的配置文件auto.cnf在两个虚拟机中是一样的。我看了一下mysql的文档,解释如下:

mysql在启动的时候会去检查auto.cnf文件,如果没有那么根据server-id创建一个,如果有就跳过。auto.cnf文件自动生成,请无手动更改。

所以解决上面问题的方法也很简单,删除auto.cnf即可(好习惯是cp auto.cnf auto.cnf.2016120212032342,然后再删除)


加入机器M为主机,机器N为备机,那么搭建主从的步骤如下:

1. 创建账户主从复制账户

在M机器:执行sql
CREATE REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'%' IDENTIFIED BY 'pass4word'

在N机器:执行sql

CREATE REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'%' IDENTIFIED BY 'pass4word'

2. 更改配置

在M机器:更改my.cnf配置

log_bin=mysql-bin

server_id=1

在N机器:更改my.cnf配置

log_bin=mysql-bin

server_id=2

lrelay_log=/path/to/save/relay/log

log_slave_updates=1

read_only=1

3. 在N机器上配置master:执行sql语句

CHANGE MASTER TO MASTER_HOST=‘M的IP’, MASTER_USER='repl', MASTER_PASSWORD='pass4word', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0;

4. 将N备机启动:执行sql语句

START SLAVE

至此配置完成,备机加入成功,确认方法为,在M中更改数据,在N中能同步更改


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值