MariaDB数据库基于GTID主从同步复制安装配置

操作系统:centos linux release 7.3.1611 (core)

数据库:MariaDB-10.2.6-linux-glibc_214-x86_64

主服务器:10.10.10.56

从服务器:10.10.10.163

MariaDB数据库基于GTID主从同步复制安装配置

1.今天要做的事,单向主从同步

关于MariaDB(MySQL)数据库安装请参阅《Centos7.3 x64位二进制安装(MySQL)MariaDB 10.1.20数据库之生产篇》下面就开始MariaDB(MySQL)服务器集群的配置过程。

2.在MariaDB(MySQL)配置文件中修改或添加以下信息

vim /etc/my.cnf主从通用配置binlog-format = mixed #二进制日志记录的模式(高版本默认开启)binlog-checksum = CRC32 #可使主机为写入二进制日志的事件写入校验(高版本默认开启)sync-master-info = 1 #MariaDB依靠操作系统将master.info文件刷新到磁盘。sync_relay_log_info = 1 #MariaDB依靠操作系统将relay-log.info文件刷新到磁盘。expire_logs_days = 7 #日志文件过期天数,默认是 0,表示不过期 master-verify-checksum = 1 #主服务器效验slave-sql-verify-checksum = 1 #从服务器效验

登录后复制

3.主服务器Master除了通用配置外,还需要加入以下代码

server-id = 56 #MySQL服务器ID,不重复log-bin = mysql-bin #二进制日志(默认开启)sync-binlog = 1 #主服务器进行设置,用于事务安全log-bin-index = mysql-bin

登录后复制

4.从服务器Slave除了通用配置外,还需要加入以下代码

server-id = 163relay-log = relay-bin #中继日志slave-parallel-threads = 2 #设定从服务器的SQL线程数#replicate-do-db = renwoleblogdb#复制指定的数据库,多个写多行replicate-ignore-db = mysql #不备份的数据库,多个写多行relay_log_recovery = 1 #从站崩溃后可以使用,防止损坏的中继日志处理。log-slave-updates = 1 #slave将复制事件写进自己的二进制日志relay-log-index = relay-bin

登录后复制

此外Mysql从服务器没有必要开启二进制日志,但是在一些情况下,必须设置,例如;如果slave为其它slave的master,必须设置bin_log。我这里就默认开启。

5.以上只是简单的介绍了每个参数的作用,这些参数的具体设置还需根据用户的实际情况进行相关调整,具体可到官方了解

《复制和二进制日志服务器系统变量》https://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-variables/关于系统变量的兼容性,可参阅官方《MariaDB与MySQL兼容性》https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/

登录后复制

6.主服务器Master授权配置

主MariaDB服务器上创建专用账号并授权数据库权限,以及从服务器IP的远程访问

# mysql -uroot -pEnter password:【输入你的MySQL密码回车】MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'renwoleuseracc'@'%' IDENTIFIED BY 'renwoleuserpass'; //创建Slave专用备份账号MariaDB [(none)]> flush privileges; //刷新MySQL权限MariaDB [(none)]> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; //查看授权情况MariaDB [(none)]> flush tables with read lock; //锁定数据库防止master值变化MariaDB [(none)]> show master status; //获取master状态值+-----------------+----------+------------+-----------------+| File |Position |Binlog_Do_DB|Binlog_Ignore_DB |+-----------------+----------+------------+-----------------+| mysql-bin.000006| 627 | | |+-----------------+----------+------------+-----------------+1 row in set (0.00 sec)

登录后复制

7.一旦获取了备份时正确的Binlog位点(文件名和偏移量),那么就可以用BINLOG_GTID_POS()函数来计算GTID

MariaDB [(none)]> SELECT BINLOG_GTID_POS("mysql-bin.000006", 627);+------------------------------------------+| BINLOG_GTID_POS('mysql-bin.000006', 627) |+------------------------------------------+| 0-56-4 |+------------------------------------------+1 row in set (0.01 sec)

登录后复制

8.从服务器Slave配置

正如官方所说从MariaDB 10.0.13版本开始,mysqldump会自动完成这个工作,并且把GTID的写在导出文件中,只要设置 –master-data 或 –dump-slave 的同时设置 –gtid 即可。

这样的话新的SLAVE就可以通过设置 @@gtid_slave_pos 的值来设定复制的起始位置,用 CHANGE MASTER 把这个值传给主库,然后开始复制:

# mysql -uroot -pEnter password:【输入你的MySQL密码】MariaDB [(none)]> SET GLOBAL gtid_slave_pos = "0-56-4";MariaDB [(none)]> change master to master_host='10.10.10.56',MASTER_PORT = 3306,master_user='renwoleuseracc',master_password='renwoleuserpass',master_use_gtid=slave_pos; //进行主从授权MariaDB [(none)]> START SLAVE; //启动SlaveMariaDB [(none)]> show slave statusG*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.10.56 Master_User: renwoleuseracc Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000006 Read_Master_Log_Pos: 627 Relay_Log_File: relay.000035 Relay_Log_Pos: 537 Relay_Master_Log_File: mysql-bin.000006 Slave_IO_Running: Yes Slave_SQL_Running: Yes ... ... ... Using_Gtid: Slave_pos Gtid_IO_Pos: 0-56-4

登录后复制

9.如果 Slave_IO_Running 与 Slave_SQL_Running 都为YES,表明从服务已经运行,Using_Gtid列判断GTID值是否一致。
说明:

master_host 表示master授权地址MASTER_PORT MySQL端口master_user 表示master授权账号master_password 表示密码master_use_gtid GTID变量值

登录后复制

10.接下来解锁主服务器数据库表

MariaDB [(none)]> unlock tables; //解锁数据表MariaDB [(none)]> show slave hosts; //查看从服务器连接状态MariaDB [(none)]> show global status like "rpl%"; //查看客户端

登录后复制

11.从服务器Slave查看relay的所有相关参数

MariaDB [(none)]> show variables like '%relay%';

登录后复制

12.主从已经配置完成。现在无论在主服务器上增、改、删、查,都会同步到从服务器,根据自己的需求进行相关测试即可。
关于master slave重置语法

重置master的核心语法

RESET MASTER; 意思是执行 RESET MASTER 将删除所有二进制日志文件,并创建一个空白的二进制日志文件,数字后缀为.000001,RESET MASTER 不会影响SLAVE服务器上的工作状态,所以执行这个命令会导致Slave找不到Master的binlog,从而造成同步失败。

重置slave的核心语法

RESET SLAVE; 含义是;RESET SLAVE 将清除slave上的同步位置并删除所有旧的同步中继日志文件,但重置前必须先停止slave服务(STOP SLAVE)

以上就是MariaDB数据库基于GTID主从同步复制安装配置的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2194844.html

(0)
上一篇 2025年2月25日 20:17:12
下一篇 2025年2月25日 20:17:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python抢票程序

    Python 抢票程序是一种自动化抢票脚本,通过模拟用户操作来提高抢票成功率。具体方法包括:监测票务信息、设置抢票条件、自动抢票、发送抢票结果。主要优势是提高成功率、省时省力、支持多平台。使用时应遵守售票规则、合理设置条件、及时更新程序。 …

    2025年2月25日
    200
  • python教程(非常详细)

    Python 是一种易于学习、可扩展且面向对象的高级编程语言,广泛用于 Web 开发、数据科学、人工智能和机器学习领域。主要特性包括:易于学习:语法清晰简洁。可扩展:丰富的库简化开发。面向对象:代码易于组织和维护。解释性:逐行执行代码。 P…

    2025年2月25日
    200
  • python官方下载详细教程

    从 Python 官方网站下载 Python 的方法:访问官方网站:https://www.python.org/选择所需的 Python 版本和操作系统下载安装程序根据操作系统执行以下步骤:Windows:运行安装程序并勾选 &#8220…

    2025年2月25日
    200
  • 安装python教程详细步骤

    想要下载 Python 并开始使用它,请按照以下步骤操作:在 Python 官网 (https://www.python.org/downloads/) 下载安装程序。双击安装文件并遵循向导指示安装。确保在 Windows 系统中勾选“将 …

    2025年2月25日
    200
  • python自动化测试

    使用 Python 进行自动化测试可以显著提升软件质量。Python 作为一种易学且跨平台兼容的语言,通过强大的框架和库简化了自动化测试的复杂性。Python 自动化测试可用于功能测试、回归测试、性能测试、API 测试和移动应用程序测试。实…

    2025年2月25日
    200
  • 掌握 Python 脚本执行:综合指南

    学习跨环境执行 Python 脚本的基础知识和高级技术。提高效率并避免常见错误。 简介: Python 脚本的执行用于运行 Python 代码来执行任务、自动化工作流程或构建应用程序。 Python 作为最流行的语言之一,提供了多种在不同环…

    2025年2月25日
    200
  • 通过 Web 搜索功能增强您的 RAG 应用程序!

    介绍 当使用检索增强生成(rag)应用程序构建有趣的项目时,我们经常面临浏览限制等限制,这使得很难获取最新信息或当前数据,例如天气更新(我希望有更有趣的东西)。为了解决这个问题,我们可以为 rag 应用程序配备搜索互联网的工具。让我们开始吧…

    2025年2月25日
    200
  • python社区版使用方法

    Python社区版(CPython)是Python的标准解释器。具体使用方法为:从官方网站下载并安装CPython。通过命令行、IDLE IDE或脚本运行Python。利用交互式解释器、标准库、第三方软件包和调试工具构建Python程序。 …

    2025年2月25日
    200
  • python3.8.0下载教程

    下载 Python 3.8.0 的步骤:访问官方下载网站:https://www.python.org/downloads/release/python-380/选择操作系统。选择安装程序类型。点击下载按钮。运行安装程序并按照说明安装。通过…

    2025年2月25日
    200
  • Python安装之后怎么打开

    打开 Python 的方法有三种:命令行、Python IDE 和 Python 脚本。首先,可以在命令提示符或终端中输入 “python” 命令打开交互式环境;其次,可以使用 PyCharm 或 Visual St…

    2025年2月25日
    200

发表回复

登录后才能评论