MySql5.7配置主从复制

我是按照下面博客中的步骤来的,最后成功了。
http://blog.csdn.net/tanweii163/article/details/50245609
##问题
这里我主要说一下,如果揍瞎了,怎么重新开始。
在主服务器上的操作没什么大问题。
在从服务器上操作的时候,很容易出问题:
1.开始在主服务器上创建数据库,删除数据库,创建表,删除表、、进行了很多的操作,从服务器就是不好使,查看mysql.log发现,日志没有读取全,是从一个删除数据库的语句开始的,由于这时候从服务器上没有这个数据库,从服务器再执行这条sql语句的时候,就报错了,然后就不往下执行了。
2.于是我就删除了从服务器上/var/lib/mysql/目录下的relay开头的文件,开始只删除的从主服务器上读取的日志文件,也就是文件名类似relay-bin.000002这种格式的文件,发现不好使,而且从服务器上执行start slave的时候,报下面的错误

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

很显然是mysql继续读之前删除的文件,但是没找到。
在/var/lib/mysql/目录下还有relay-log.info和relay-bin.index这两个文件,都干掉,然后重启mysql,就跟一个新的slave差不多了,可以启动了。
##原理
这里简单描述一下主从复制的原理,方便配置的时候找原因。
基本原理就是,从服务器上有两个线程,一个IO线程,一个SQL线程,

mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.232.132
                  Master_User: userbyslave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 316
               Relay_Log_File: relay-bin.000002
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 

上边的Slave_IO_Running和Slave_SQL_Running就是这两个线程的状态了,IO线程负责从主服务器上拉取日志,SQL线程负责解析执行日志中的内容。

我们是在执行下面的命令的时候,让从服务器连上主服务器的:

CHANGE MASTER TO
MASTER_HOST='192.168.31.84',
MASTER_USER='repl',
MASTER_PASSWORD='slavepass',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=154;

在从服务器上执行上边的命令,就可以将从服务器的IO流的源端指向主服务器指定日志文件的指定位置。

上边引用的博客的思路也很明确:

  1. 配置主服务器
  2. 配置从服务器
  3. 在主服务器上给从服务器开一个账号
  4. 配置从服务器用主服务器上开的账号连接上主服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈振阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值