欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux-6.5下基于MariaDB-10的GTID多线程的配置解析

程序员文章站 2022-06-04 23:22:17
...

mysql 5.6 基于 gtid 主从复制(本文是:MariaDB-10) MySQL 5.6引入的GTID(Global Transaction IDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。 GTID是一个 unique 唯一的表示符,他是由服务器的uuid 全局唯一标示,是由128位的随机符


mysql 5.6 基于 gtid 主从复制(本文是:MariaDB-10)
MySQL 5.6引入的GTID(Global Transaction IDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。 GTID是一个 unique 唯一的表示符,他是由服务器的uuid 全局唯一标示,是由128位的随机符组成,mysql-5.6是依靠server-id和uuid 来标示复制架构中的每一个主机,因为是128位的随机字符串在全局都不会重复,server-id 和uuid以及每一个mysql事物的事物序号组成了唯一的gtid ,自从引进mysql-5.6之后每一个二进制日志当中在每一个事物的首部都会写上gtid 标记,因此gtid使得追踪和比较复制事物变得非常简单而且能够实现从崩溃中快速恢复。尤其是innodb 引擎要想实现高可用功能必须要借助于gtid来实现。

mysql's replication

Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
主机环境为:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析

本博文是以MariaDB-10配置GTID多线程的,下面是配置步骤:


一、配置MASTER节点 1、配置主机名: Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
2、停止服务:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
3、修改配置文件:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
4、创建目录及属主属组:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
5、修改hosts:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
6、远程复制给slave主机:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
7、测试是否能ping通slave:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
8、启动服务:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
9、查看GTID信息:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析


二、配置SLAVE节点 1、配置主机名: Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
2、停止服务:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
3、修改配置文件:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
4、创建目录及修改属组属主:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
5、启动服务:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
6、测试是否能ping通master:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
7、查看GTID信息:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析


三、验证效果及创建授权用户 1、master创建授权用户: Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
2、slave指向指定复制位置:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
3、slave启动同步:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
4、slave查看是否成功启用同步:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
5、slave查看是否有mydb库:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
6、master查看slave的数量:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
7、master创建库:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
8、slave查看是否同步:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析

9、这时候你要与下面的这条命令结合的使用,才能看出动态的结果,你可以开两个窗口,我这里可能是因为数据量太小了,所以看不变化了: 9.1 master导入大量数据: Linux-6.5下基于MariaDB-10的GTID多线程的配置解析

9.2 slave查看master导入数据的变化:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
9.3 slave查看master导入数据的变化:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
9.3.1 与上图作对比:
Linux-6.5下基于MariaDB-10的GTID多线程的配置解析
10、master查看线程信息:

点击(此处)折叠或打开

  1. MariaDB [(none)]> SHOW PROCESSLIST;

  2. +----+-------------+------------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+----------+

  3. | Id | User | Host | db | Command | Time | State | Info | Progress |

  4. +----+-------------+------------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+----------+

  5. | 3 | system user | | NULL | Connect | 1785 | Waiting for work from SQL thread | NULL | 0.000 |

  6. | 4 | system user | | NULL | Connect | 1785 | Waiting for work from SQL thread | NULL | 0.000 |

  7. | 8 | repluser | slave.xiaoma.com:41243 | NULL | Binlog Dump | 954 | Master has sent all binlog to slave; waiting for binlog to be updated | NULL | 0.000 |

  8. | 17 | root | localhost | NULL | Query | 0 | init | SHOW PROCESSLIST | 0.000 |

  9. +----+-------------+------------------------+------+-------------+------+-----------------------------------------------------------------------+------------------+----------+

  10. 4 rows in set (0.00 sec)

  11. MariaDB [(none)]> 11、slave查看线程信息:

    点击(此处)折叠或打开

    1. MariaDB [(none)]> SHOW PROCESSLIST;

    2. +----+-------------+-----------+------+---------+---------+-----------------------------------------------------------------------------+------------------+----------+

    3. | Id | User | Host | db | Command | Time | State | Info | Progress |

    4. +----+-------------+-----------+------+---------+---------+-----------------------------------------------------------------------------+------------------+----------+

    5. | 3 | system user | | NULL | Connect | 3225828 | Waiting for work from SQL thread | NULL | 0.000 |

    6. | 4 | system user | | NULL | Connect | 3225828 | Waiting for work from SQL thread | NULL | 0.000 |

    7. | 6 | root | localhost | NULL | Query | 0 | init | SHOW PROCESSLIST | 0.000 |

    8. | 7 | system user | | NULL | Connect | 1006 | Waiting for master to send event | NULL | 0.000 |

    9. | 8 | system user | | NULL | Connect | 535 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL | 0.000 |

    10. +----+-------------+-----------+------+---------+---------+-----------------------------------------------------------------------------+------------------+----------+

    11. 5 rows in set (0.00 sec)

    12. MariaDB [(none)]>
      OK!!!