广告
返回顶部
首页 > 资讯 > 数据库 >mysql 5.7 主从同步 gtid
  • 593
分享到

mysql 5.7 主从同步 gtid

2024-04-02 19:04:59 593人浏览 薄情痞子
摘要

环境:1、(主) linux Centos 7 64位2、(从) linux centOS 7 64位3、(Mysql)最好要求版本一致,从库不能比主库版本高 建议5.7 centos 7 默然安装mar

环境:1、(主) linux Centos 7 64位
2、(从) linux centOS 7 64位
3、(Mysql)最好要求版本一致,从库不能比主库版本高 建议5.7

centos 7 默然安装mariadb,安装mysql 5.7参考如下链接文档:
centos 7安装mysql 5.7 :https://juejin.im/post/5c088b066fb9a049d4419985 (转载)
一、主库配置
1、更改主库/etc/my.cnf 配置文件

vim /etc/my.cnf

[mysqld]
lower_case_table_names=1
max_connections=7000
group_concat_max_len = 202400
max_allowed_packet = 128M
#开启gtid功能
gtid-mode=on
enforce-gtid-consistency=1
#设置server_id,一般设置为IP,注意要唯一
server_id=840
复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步)
replicate_wild_ignore_table=mysql.%
#指定哪个数据库同步,本次只同步newerp库
replicate_wild_do_table=newerp.%
#开启二进制日志功能,可以随便取,最好有含义关键就是这里了
log-bin=edu-mysql-bin
为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存
binlog_cache_size=1M
主从复制的格式 mixed,statement,row,默认格式是statement
binlog_fORMat=mixed
二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。
expire_logs_days=7
跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
master_info_repository=TABLE
relay_log_info_repository=TABLE

2、重启mysql数据库

systemctl restart mysqld

3、创建同步账户和查看master信息

[Tomcat@iZ2zeij9pa0qnzjt5wcr4kZ ~]$ msyql -uroot -p
Enter passWord:
mysql>GRANT REPLICATION SLAVE ON . to ' slave_account '@'%' identified by '123456';
mysql>FLUSH PRIVILEGES;
mysql> SHOW MASTER STATUS\G;
1. row
File: edu-mysql-bin.000031
Position: 1210791
Binlog_Do_DB: newerp
Binlog_Ignore_DB: mysql
Executed_Gtid_Set: 2abeaffc-6158-11e7-8222-00163e03196b:1-16151
1 row in set (0.00 sec)

ERROR:
No query specified

mysql>

注:'slave_account' 为主库创建同步用户,'123456'为数据库slave_account用户密码。
注:记录下File: edu-mysql-bin.000031和 Position: 1210791,后面从库会使用到。

4、mysqldump导出newerp库到从库

mysqldump -uroot -p123456 -hlocalhost --single-transaction --master-data=2 newerp > /data/newerp_back.sql

写了一个脚本供参考

  1. > DB_USER="root"
  2. > DB_PASS="123456!"
  3. > DB_HOST="localhost"
  4. > DB_NAME="newerp"
  5. > BIN_DIR="/usr/bin"
  6. > BCK_DIR="/data"
  7. > DATE=date +%Y-%m-%d_%H-%M-%S
  8. > $BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS -h$DB_HOST --single-transaction --master-data=2 --routines --flush-logs $DB_NAME > $BCK_DIR/$DB_NAME.$DATE.sql

5、把备份文件scp传到从库

scp -P 22312 /data/newerp_back.sql root@从库IP:/root/
密码:

主库配置完成,开始配置从库。

二、从库配置
1、从库 /etc/my.cnf 配置

[mysqld]

gtid-mode=on #开启gtid,5.6版本之后的功能

enforce-gtid-consistency=1

server_id=3026 #id必填项,不要与主库id相同

replicate-ignore-db=mysql #表示不同步mysql库,可以写多个

replicate-do-db=newerp #表示只同步newerp库,可以写多个

2、更改完重启mysqld服务

systemctl restart mysqld

3、导入newerp_back.sql数据

[root@localhost ~]# mysql -uroot -p < /root/newerp_back.sql

4、进入mysql

mysql> change master to master_host='10.175.18.40',master_user='slave_account',master_password='123456',master_log_file='edu-mysql-bin.000031',master_log_pos=1210791;

mysql> start slave; #开启同步 ,stop slave 停止同步,reset master 重置主库信息

mysql> `show slave status\G;
ERROR 2006 (HY000): MySQL Server has Gone away
No connection. Trying to reconnect...
Connection id: 37
Current database: NONE

1. row
Slave_IO_State: Waiting for master to send event
Master_Host: 10.175.18.40
Master_User: slave_account
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: edu-mysql-bin.000032
Read_Master_Log_Pos: 1031964
Relay_Log_File: localhost-relay-bin.000004
Relay_Log_Pos: 1032185
Relay_Master_Log_File: edu-mysql-bin.000032
Slave_IO_Running: Yes #两个都为YES表示成功开启同步
Slave_SQL_Running: Yes #两个都为YES表示成功开启同步
Replicate_Do_DB: newerp
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: 1031964
Relay_Log_Space: 1032606
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: 840
Master_UUID: 2abeaffc-6158-11e7-8222-00163e03196b
Master_Info_File: /var/lib/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set: 2abeaffc-6158-11e7-8222-00163e03196b:10626-16016
Executed_Gtid_Set: 2abeaffc-6158-11e7-8222-00163e03196b:1-16016
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)

ERROR:
No query specified

mysql>

注:master_host='10.175.18.40'为主库IP,master_user='slave_account' 为主库创建同步用户,master_password='123456'为数据库slave_account用户密码,master_log_file='edu-mysql-bin.000031',master_log_pos=1210791;两项从主库获取。从主库执行sql命令:SHOW MASTER STATUS;

5、测试
在主库创建新表或插入新数据,看看从库是否同步。

您可能感兴趣的文档:

--结束END--

本文标题: mysql 5.7 主从同步 gtid

本文链接: https://www.lsjlt.com/news/38895.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql 5.7 主从同步 gtid
    环境:1、(主) linux centOS 7 64位2、(从) linux centOS 7 64位3、(mysql)最好要求版本一致,从库不能比主库版本高 建议5.7 centos 7 默然安装mar...
    99+
    2022-10-18
  • MySQL 5.7 基于GTID搭建主从复制
    MySQL 5.7 基于GTID搭建主从复制    一、搭建过程 1.1 准备三个MySQL实例 mysqld --initialize-insecure --use...
    99+
    2022-10-18
  • mysql 5.7 GTID如何实现主从配置
    这篇文章给大家分享的是有关mysql 5.7 GTID如何实现主从配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 binlog-format:二进制日志的格式,有row...
    99+
    2022-10-18
  • MySQL中基于GTID半同步如何搭建主从
    下文给大家带来有关MySQL中基于GTID半同步如何搭建主从内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL中基于GTID半同步如何搭建主从你一定会有所...
    99+
    2022-10-18
  • Mysql 主从复制之半同步复制(基于gtid)
    Mysql主从复制mysql主从复制原理:从库有两个线程IO线程和SQL线程1.从库的IO线程向主库的主进程发送请求,主库验证从库,交给主库IO线程负责数据传输;2.主库IO线程对比从库发送过来的maste...
    99+
    2022-10-18
  • 通过 mysqldump 搭建基于 gtid MySQL 5.7 主从复制
    安装主从 MySQL 5.7 # 主 MySQL5.7 useradd mysql /sbin/nologin cd /usr/local tar -xvf mysql-5.7.23-linux-glibc...
    99+
    2022-10-18
  • Mysql 5.7主从
    安装忽略,参考我前面的博客。从库克隆主库,克隆主数据库后,需要修改 server-id  和 /data/mysql/auto.cnf   中的UUID, 修改pid文件名字修改my.c...
    99+
    2022-10-18
  • 怎么实现mysql 5.7主主同步
    本篇内容主要讲解“怎么实现mysql 5.7主主同步”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现mysql 5.7主主同步”吧! ...
    99+
    2022-10-19
  • mysql主从同步
    #!/bin/bash . /etc/rc.d/init.d/functions if [ $# -ne 0 ];then    echo "Usage:sh `basename $0`"    exit 1 fi #MASTER V...
    99+
    2017-01-13
    mysql主从同步
  • MySQL 主从同步。
    Mysql 数据库安装: 服务器IP 地址规划:主服务器 IP 172.20.2.46 从服务器 IP 172.20.2.47 二、安装mysql服务器 1.将下载好的安装到解压到/usr/loca...
    99+
    2022-10-18
  • MySQL 主从同步
    一、概述     原理图如下:     功能: BinLog:二进制文件,存储MasterDB(主数据库)中修改数据的内容,存储内容的格式有Statement,Row,Mixed。 Relay Log:功能作用与Binl...
    99+
    2018-11-12
    MySQL 主从同步
  • Mysql——主从同步
    一、什么是Binlog Mysql的二进制日志可以是Mysql最重要的日志, 记录了所有的DDL和DML语句(除了数据查询语句之外的语句)语句,以事件形式记录,还包含语句所执行的消耗时间,Mysql的二进制日志是事务安全型的。 二进制日志包...
    99+
    2023-10-26
    mysql 数据库 sql
  • Mysql 主从复制GTID
    --------------------------------------------安装准备配置/etc/my.cnf主master grant 分配复制帐号从slave ...
    99+
    2022-10-18
  • MySQL中如何进行基于GTID半同步搭建主从
    MySQL中如何进行基于GTID半同步搭建主从,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 背景   * GTID:...
    99+
    2022-10-18
  • CentOS 7 部署MySQL 5.7 主从复制(传统方式及GTID)
    记录♪(^∇^*) 1、二进制文件和位置的复制;2、基于全局事物标识符(GTID)两种方式的主从复制:(测试环境为CentOS 7.3) 一、基于二进制日志文件(传统方式) (1)、工作原理: 1、Mast...
    99+
    2022-10-18
  • Mysql-5.7主从部署
    一、环境准备 # rpm -qa |grep mariadb |xargs yum remove -y   # setenforce 0(临时关闭),(selinux配置文件:SELINUX=disabled,需重启生效)   # sys...
    99+
    2015-06-28
    Mysql-5.7主从部署
  • 判断GTID复制中主从是否同步脚本
    判断GTID复制中从库有没有与主库同步show slave stautus\G中:当Retrieved_Gtid_Set = Executed_Gtid_Set 表示从库已经和主库完成同步#!/b...
    99+
    2022-10-18
  • MySQL主从同步配置
    Mysql 主从同步原理 就是基于数据库里面的那个 binlog 文件进行数据同步 具体步骤: step1:master将数据改变记录到二进制日志(binary log)中。step2: 当slav...
    99+
    2023-09-09
    mysql
  • MySQL主从同步部署
    主从同步部署1、两台相同版本的mysql数据库,一台做主库,一台从库 主库开启binlog在配置文件中的[mysqld]模块中添加log-bin=mysql-bin和server-id=1,一定要保证两台主...
    99+
    2022-10-18
  • 部署mysql主从同步
    部署mysql主从同步一、什么是mysql主从同步主:正在被客户端访问的数据库服务器,被称作主库服务器。从:自动同步主库上的数据的数据库服务器,被称作从库服务器。 二、配置mysql主从同步2.1 拓扑图数...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作