MySQL主主同步

MySQL主主同步

主主同步原理同主从,不过是双向而已

1.修改1.4配置文件

vim /etc/my.cnf
#同时开始binlog和relay log
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
sync_master_info = 1
sync_binlog = 1 
innodb_support_xa = ON
relay_log= relay-log
relay_log_index=relay-log.index
skip_slave_start = ON
sync_relay_log = 1
sync_relay_log_info = 1
#定义偏移量
auto_increment_offset=1
auto_increment_increment=2

2.查看1.4日志POS点

MariaDB [(none)]> show master status\G
*************************** 1. row ***************************
            File: mysql-bin.000002
        Position: 662
    Binlog_Do_DB: 
Binlog_Ignore_DB: 
1 row in set (0.00 sec)

3.修改1.5配置文件

vim /etc/my.cnf
#同时开始binlog和relay log
log-bin=mysql-bin
binlog_format=mixed
server-id = 3
sync_master_info = 1
sync_binlog = 1
innodb_support_xa = ON
relay_log= relay-log
relay_log_index=relay-log.index
skip_slave_start = ON
sync_relay_log = 1
sync_relay_log_info = 1
#定义偏移量
auto_increment_offset = 2

4.查看1.5日志POS点

MariaDB [mysql]> show master status\G
*************************** 1. row ***************************
            File: mysql-bin.000001
        Position: 1073
    Binlog_Do_DB: 
Binlog_Ignore_DB: 
1 row in set (0.00 sec)

5.在1.4上添加复制用户

MariaDB [(none)]> grant replication slave,replication client on *.* to ‘repa‘@‘192.168.1.5‘ identified by ‘slavepass‘;     
Query OK, 0 rows affected (0.09 sec)

6.在1.5上添加复制用户

MariaDB [mysql]> grant replication slave,replication client on *.* to ‘repb‘@‘192.168.1.4‘ identified by ‘slavepass‘;  
Query OK, 0 rows affected (0.07 sec)

7.在1.4上开始同步复制

change master to master_host=‘192.168.1.5‘,master_user=‘repb‘,master_password=‘slavepass‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=1073;

8.在1.5上开始同步复制

change master to master_host=‘192.168.1.4‘,master_user=‘repa‘,master_password=‘slavepass‘,master_log_file=‘mysql-bin.000002‘,master_log_pos=662;

9.查看1.4同步状态

MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.5
                  Master_User: repb
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 1073
               Relay_Log_File: relay-log.000002
                Relay_Log_Pos: 537
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           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: 1073
              Relay_Log_Space: 829
              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: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 3
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
                   Using_Gtid: No
                  Gtid_IO_Pos: 
      Replicate_Do_Domain_Ids: 
  Replicate_Ignore_Domain_Ids: 
                Parallel_Mode: conservative
1 row in set (0.00 sec)

10.查看1.5同步状态

MariaDB [mysql]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.4
                  Master_User: repa
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 662
               Relay_Log_File: relay-log.000002
                Relay_Log_Pos: 537
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           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: 662
              Relay_Log_Space: 829
              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: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
                   Using_Gtid: No
                  Gtid_IO_Pos: 
      Replicate_Do_Domain_Ids: 
  Replicate_Ignore_Domain_Ids: 
                Parallel_Mode: conservative
1 row in set (0.00 sec)

11.在1.4上创建数据库及表

MariaDB [(none)]> create database prince;
Query OK, 1 row affected (0.09 sec)
MariaDB [(none)]> use prince;
Database changed
MariaDB [prince]> drop table Threek;
Query OK, 0 rows affected (0.13 sec)

创建表:

MariaDB [prince]> create table Threek(id int auto_increment primary key,name varchar(50));
Query OK, 0 rows affected (0.26 sec)

插入数据

MariaDB [prince]> insert into Threek (name) values(‘wukaka‘),(‘ckl‘),(‘love‘);
Query OK, 3 rows affected (0.06 sec)
Records: 3  Duplicates: 0  Warnings: 0
MariaDB [prince]> select * from Threek;
+----+--------+
| id | name   |
+----+--------+
|  1 | wukaka |
|  3 | ckl    |
|  5 | love   |
+----+--------+
3 rows in set (0.00 sec)

12.在1.5上插入数据

MariaDB [(none)]> use prince;
Database changed

查看表:

MariaDB [prince]> show tables;
+------------------+
| Tables_in_prince |
+------------------+
| Threek           |
+------------------+
1 row in set (0.00 sec)

查看数据

MariaDB [prince]> select * from Threek;
+----+--------+
| id | name   |
+----+--------+
|  1 | wukaka |
|  3 | ckl    |
|  5 | love   |
+----+--------+
3 rows in set (0.00 sec)

插入数据:

MariaDB [prince]> insert into Threek (name) values(‘stack‘),(‘ayia‘),(‘snow‘);
Query OK, 3 rows affected (0.06 sec)
Records: 3  Duplicates: 0  Warnings: 0

MariaDB [prince]> select * from Threek;                                       
+----+--------+
| id | name   |
+----+--------+
|  1 | wukaka |
|  3 | ckl    |
|  5 | love   |
|  6 | stack  |
|  7 | ayia   |
|  8 | snow   |
+----+--------+
6 rows in set (0.00 sec)

13.在1.4上查看数据

MariaDB [prince]> select * from Threek;
+----+--------+
| id | name   |
+----+--------+
|  1 | wukaka |
|  3 | ckl    |
|  5 | love   |
|  6 | stack  |
|  7 | ayia   |
|  8 | snow   |
+----+--------+
6 rows in set (0.00 sec)
时间: 2024-10-14 14:25:11

MySQL主主同步的相关文章

MySQL 主从复制、主主复制、半同步复制

MySQL 复制 =============================================================================== 概述: =============================================================================== MySQL Replication:   1.主从复制的目的和架构 ★Master/Slave(主/从) Master: write/read Slave

mysql的主从、主主及半同步复制

mysql复制 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接

趁一切还来得及【六】数据库MySQL读写分离与主主同步

相思相见知何日?此时此夜难为情.                                                      --[唐]李白 第一章 数据库MySQL主从复制读写分离授权 1.1 主从复制读写分离方案简单分析 ①数据库主从复制搭建之后,因为数据是单向的,因此默认规则就是所有的数据(主从相关收据)写入和更新都在主库上进行操作,避免主从同步的时候造成冲突. ②严格上来讲,从库上的非同步的库写入数据,只要和主库没有关系,也是可以写入的(或者作为主库),但是如果主从都想其中

搭建MySQL的主从、半同步、主主复制架构

复制其最终目的是让一台服务器的数据和另外的服务器的数据保持同步,已达到数据冗余或者服务的负载均衡.一台主服务器可以连接多台从服务器,并且从服务器也可以反过来作为主服务器.主从服务器可以位于不同的网络拓扑中,由于mysql的强大复制功能,其复制目标可以是所有的数据库,也可以是某些数据库,甚至是某个数据库中的某些表进行复制. MySQL支持的两种复制方案:基于语句复制,基于行复制基于语句复制基于行复制,这两种复制方式都是通过记录主服务器的二进制日志中任何有可能导致数据库内数据发生改变的SQL语句到中

Keepalived +Mysql 主主同步

一.配置Mysql主主同步 1,修改/etc/my.cnf,创建同步用户 Master104 [[email protected] ~]# vim /etc/my.cnf [mysqld] server-id = 1                    #backup这台设置2 log-bin = mysql-bin binlog-ignore-db = mysql,information_schema       #忽略写入binlog日志的库 auto-increment-incremen

MySQL数据的主从复制、半同步复制和主主复制详解

一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费多久,不容乐观的未来,但是我们还是要能熟练掌握MySQL数据的架构和安全备份等功能,毕竟现在它还算是开源界的老大吧! MySQL数据库支持同步复制.单向.异步复制,在复制的过程中一个服务器充当主服务,而一个或多个服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环

mysql主主同步配置

                                                                        MySQL 主主同步配置  服务器名    IP    系统    MySQL 主机名 地址 系统 MYSQL-SERVER blog.sjf.com 11.1.0.200 CentOS-6.8 5.1.73-7 image.sjf.com 11.1.0.19 CentOS-6.8 5.1.73-7 一. 假设要同步的库是 test 我们这里先创建同步账

LVS+MYCAT+读写分离+MYSQL主备同步部署手册

LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6       配置备用数据库… 3 1.6.1         编辑my

MySQL的主主同步

主 主 同 步 先准备好两台主机,都安装上mysql. 假设A主机的IP为:192.168.216.10 B主机的IP为:192.168.216.11 目标:同步test库内所有表 第一步  : 配置文件 主机A配置 用VIM编辑器编辑/etc/my.conf #/etc/my.conf 添加如下内容: log-bin=mysql-bin server-id=1 expire-logs-days=99 replicate-do-db=test binlog-ignore-db=mysql bin