Ubuntu下MySql5.7双机互为主从复制搭建

10 篇文章 0 订阅
8 篇文章 1 订阅

mysql双机互为主从复制搭建

主从复制搭建请参见Ubuntu下MySql5.7主从复制搭建,本文是在Ubuntu下MySql5.7主从复制搭建基础之上进行的搭建。

一:搭建的流程说明

1.数据库同步(请参见Ubuntu下MySql5.7主从复制搭建文中的第五、六步)
2.各服务器配置文件更改,mysql服务器重启
3.各服务器账号创建,权限分配
4.各服务器命令行中配置信息
5.各服务器slave启动
6.测试(略)

二:环境

A服务器
IP:192.168.1.205
系统:Ubuntu 16.04
MySQL:5.7.20

B服务器
IP:192.168.1.197
系统:Ubuntu 16.04
MySQL:5.7.20

三:配置文件更改

[A 服务器 192.168.1.205]

# bind-address = 127.0.0.1 
server-id = 205
binlog-do-db = test
binlog-ignore-db = mysql
replicate-do-db = test
replicate-ignore-db = mysql
sync-binlog = 1

[B 服务器 192.168.1.197]

# bind-address = 127.0.0.1  #这里默认监听本地localhost
server-id = 197   #主机标示,整数
binlog-do-db = test  #需要备份的数据库,多个写多行
binlog-ignore-db = mysql  #不需要备份的数据库,多个写多行
replicate-do-db = test  #只复制某个库
replicate-ignore-db = mysql  #只复制某个库
sync-binlog = 1

重启A、B mysql服务(必须)

sudo service mysql restart

四:各服务器账号创建,权限分配

登录主机 A,在主服务器上,设置一个从数据库B的账户,使用REPLICATION SLAVE(从复制)赋予权限,如:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.197' IDENTIFIED BY '123456';

mysql> flush privileges;

登录主机 B,在主服务器上,设置一个从数据库A的账户,使用REPLICATION SLAVE(从复制)赋予权限,如:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.205' IDENTIFIED BY '123456';

mysql> flush privileges;

五:各服务器命令行中配置信息

得到主服务器A当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复。

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000007 |      517 | test         | mysql            |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

登录从服务器B的mysql,配置主服务器A的ip及登录账号:

mysql> CHANGE MASTER TO 
     > MASTER_HOST='192.168.1.205',
     > MASTER_USER='backup',
     > MASTER_PASSWORD='123456',
     > MASTER_LOG_FILE='mysql-bin.000007',
     > MASTER_LOG_POS=517;

按如上步骤,再获取主服务器B当前的二进制日志名和偏移量,登录从服务器A的mysql,配置主服务器B的ip及登录账号。

六:各服务器slave启动

在从服务器A、B上,分别启动slave进程

mysql> start slave;

在从服务器A、B上,分别进行show salve status验证

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.X
                  Master_User: root
                  Master_Port: 3306
                Connect_Retry: 5
              Master_Log_File: mysql-bin.000007
          Read_Master_Log_Pos: 263
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 408
        Relay_Master_Log_File: mysql-bin.000007
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: test
          Replicate_Ignore_DB: mysql
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 263
              Relay_Log_Space: 564
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
1 row in set (0.00 sec)

提示如下信息,说明配置成功了。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

如果出现Slave_IO_Running:Running
可能是你在更改mysql配置文件后没重启mysql服务,重启mysql服务即可。

七:参考文档

http://blog.csdn.net/edwzhang/article/details/8819629

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值