mariadb实现主从同步

准备两台服务器
Mariadb-Master:192.168.44.150
Mariadb-Backup:192.168.44.148

安装mariadb:

https://blog.csdn.net/qq_50247813/article/details/135402502?spm=1001.2014.3001.5502

组从复制原理如下
在这里插入图片描述

  1. 修改主数据库配置如下

    vi /etc/my.cnf.d/server.cnf
    
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    server_id = 150
    log-bin= mysql-bin
    lower_case_table_names=1
    binlog-format=ROW
    log-slave-updates=True
    sync-master-info=1
    slave-parallel-threads=3
    binlog-checksum=CRC32 
    master-verify-checksum=1
    slave-sql-verify-checksum=1
    
  • character-set-server=utf8 设置数据库默认字符集
  • collation-server=utf8_general_ci 设置校验规则
  • server_id = 150 主从id必须唯一,推荐使用ip位
  • log-bin= mysql-bin 二进制日志,后面指定存放位置。如果只是指定名字,默认存放在/var/lib/mysql下
  • lower_case_table_names=1 库表不区分大小写
  • binlog-format=ROW 二进制日志文件格式
  • log-slave-updates=True slave更新是否记入日志
  • sync-master-info=1 值为1确保信息不会丢失
  • slave-parallel-threads=3 同时启动多少个复制线程,最多与要复制的数据库数量相等即可
  • binlog-checksum=CRC32 效验码
  • master-verify-checksum=1 启动主服务器效验
  • slave-sql-verify-checksum=1 启动从服务器效验
  1. 修改从数据库配置

     vi /etc/my.cnf.d/server.cnf
    
    	[mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    server_id=148
    relay_log = relay-bin
    lower_case_table_names=1
    
  • server_id=148 主从id必须唯一
  • relay_log = relay-bin 中继日志, 后面指定存放位置。如果只是指定名字,默认存放在/var/lib/mysql下
  1. 重启主从数据库,配置生效

     systemctl restart mariadb
    
  2. master节点配置

    注:如果使用普通用户需要授权binlog权限

     grant replication slave, replication client on *.* to 'user'@'%' identified by 'passwd';
    

    还有注意将slave加入到master的远程访问列表中

     GRANT ALL PRIVILEGES ON *.* to  `root`@`192.168.44.*` identified by '123456';flush privileges;
    

     mariadb -uroot -p123456
    
    MariaDB [(none)]> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000002 |     1218 |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.000 sec)MariaDB [(none)]> select binlog_gtid_pos('mysql-bin.000002', 1218 );
    +--------------------------------------------+
    | binlog_gtid_pos('mysql-bin.000002', 1218 ) |
    +--------------------------------------------+
    | 0-150-6                                    |
    +--------------------------------------------+
    1 row in set (0.000 sec)
    
  3. 从节点配置

    MariaDB [(none)]> set global gtid_slave_pos='0-150-6';Query OK, 0 rows affected (0.004 sec)MariaDB [(none)]>  change master to master_host='192.168.44.150',master_user='root',master_password='123456',master_use_gtid=slave_pos;Query OK, 0 rows affected (0.008 sec)MariaDB [(none)]> start slave;Query OK, 0 rows affected (0.005 sec)MariaDB [(none)]>
    
  4. 验证salve状态

    		MariaDB [(none)]> show slave status\G
    *************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.44.150Master_User: rootMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000002Read_Master_Log_Pos: 1722Relay_Log_File: relay-bin.000002Relay_Log_Pos: 1174Relay_Master_Log_File: mysql-bin.000002Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Rewrite_DB: Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 1722Relay_Log_Space: 1477Until_Condition: NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error: Last_SQL_Errno: 0Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 150Master_SSL_Crl: Master_SSL_Crlpath: Using_Gtid: Slave_PosGtid_IO_Pos: 0-150-9Replicate_Do_Domain_Ids: Replicate_Ignore_Domain_Ids: Parallel_Mode: optimisticSQL_Delay: 0SQL_Remaining_Delay: NULLSlave_SQL_Running_State: Slave has read all relay log; waiting for more updatesSlave_DDL_Groups: 2
    Slave_Non_Transactional_Groups: 1Slave_Transactional_Groups: 0
    1 row in set (0.000 sec)
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏、设计选什么内存条?光威龙武系列DDR5量大管饱

如果你是一位PC玩家或者创作者,日常工作娱乐中,确实少不了大容量高频内存的支持,这样可以获得更高的工作效率,光威龙武系列DDR5内存条无疑是理想之选。它可以为计算机提供强劲的性能表现和稳定的运行体验,让我们畅玩游…

【PB续命07】JDBC连接达梦数据库

JDBC(Java DataBase Connectivity) 称为Java数据库连接,它是一种用于数据库访问的应用程序API,由一组用Java语言编写的类和接口组成,有了JDBC就可以用同一的语法对多种关系数据库进行访问,而不用担心其数据库操作语言的差异。 有了…

中国IT产经新闻:新能源汽车发展前景与燃油车的利弊之争

随着科技的进步和环保意识的提高,新能源汽车在全球范围内逐渐受到重视。然而,在新能源汽车迅速发展的同时,燃油车仍然占据着主导地位。本文将从新能源与燃油车的利弊、新能源汽车的发展前景两个方面进行分析,以期为读者提供全面的…

Codeforces Hello 2024 A~D,F1

A.Wallet Exchange(思维) 题意: Alice和Bob各自拥有 a , b a,b a,b枚硬币,他们决定以Alice为先手开始比赛,比赛中每人在每轮需按顺序执行操作1和操作2: 操作1:交换两人手上拥有的硬币数量,或什么都不做 …

用python提取word中的所有图片

使用word中提取的方式图片会丢失清晰度,使用python写一个脚本,程序运行将弹出对话框选择一个word文件,然后在弹出一个对话框选择一个文件夹保存word中的文件。将该word中的所有图片都保存成png格式,并命名成image_i的样式。 程序…

JSP内置对象(9大内置对象和4种作用域)

JSP(JavaServer Pages)是一种用于开发动态Web应用程序的Java技术,它提供了一组内置对象和作用域,用于在JSP页面中访问和处理数据。 JSP的9大内置对象 request(请求对象):代表客户端的HTTP请求&…

高校教务系统登录页面JS分析——河北农业大学教务系统

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…

Python学习之路——文件部分【书接上回】

一、书接上回 上个博客我说过,为什么最开始的时候一定要将文件内的中文的逗号替换为英文的逗号,接下来,请看(其实想一想,感觉没必要,不过也是好的,总要练练手的嘛) def func03(st…

Allure03-报告结构解析

Allure03-报告结构解析 高清B站视频链接 一旦您了解了报告的外观。您可能希望获得更多数据丰富的报表。 您可能需要考虑为您的测试框架使用 Allure 适配器之一,这将允许收集 更多信息。跳转到集成部分,了解有关与测试框架集成的更多信息。 典型的报告由…

网络原理OSI

目录 一、应用层 1、功能 2、协议的分类 二、UDP原理(传输层) 1、协议端格式 2、格式解释 三、TCP原理(传输层) 1、协议端格式 2、长度 3、可靠传输 (1)确认应答 (2)超时…

设备树根节点下的compatile属性的作用

一. 简介 每个节点都有 compatible 属性,根节点 “ /” 也不例外。 imx6ull-alientek-emmc.dts 设备树 文件中的根 节点下也有一个 compatible 属性。 本文继续学习设备树文件的语法。具体学习根节点 "/" 下的 compatile属性的作用。 二. 设备树根节…

JavaScript的闭包、执行上下文、到底是怎么回事?还有必要学吗?

在上一课,我们了解了 JavaScript 执行中最粗粒度的任务:传给引擎执行的代码段。并且,我们还根据“由 JavaScript 引擎发起”还是“由宿主发起”,分成了宏观任务和微观任务,接下来我们继续去看一看更细的执行粒度。 一…

网络安全B模块(笔记详解)- Web渗透测试

Web渗透测试 1.通过渗透机Kali1.0对服务器场景PYsystem20192进行Web渗透测试(使用工具w3af的对目标Web服务器进行审计),在w3af的命令行界面下,使用命令列出所有用于审计的插件,将该操作使用的命令作为Flag值提交; 进入kali命令控制台中使用命令w3af_console进入w3af命令…

设计模式的艺术P1基础—2.4-2.11 面向对象设计原则

设计模式的艺术P1基础—2.4-2.11 面向对象设计原则 2.4 面向对象设计原则概述 向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的重用,另一方面要确保系统能够易于扩展和修改,具有较好的灵活性。 面向对象设计…

收藏!一文读懂“灯塔工厂”完整申报流程

1、什么是灯塔工厂? 灯塔工厂是通过数字化、网络化和智能化手段,运用先进的工业4.0技术和理念,实现生产过程的全面自动化、精确化和优化。它不仅实现了数字化与物理世界的深度融合,而且提高了生产效率和质量,降低了制…

提升决策效率:探索NL2SQL和KBQA在实际应用中的奇迹

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

kubernetes 网络解析

开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 基础 Kubernetes 使用扁平网络模型,所有 Pod 都可以直接相互…

CLIP论文总结

文章目录 NLP的积淀Method1. 预训练的方法:放宽约束:对比学习2. 模型训练训练时间 ExperimentsMotivationPrompt:提示:也就是文本的引导作用Prompt enginneringPrompt ensembling 对比实验 NLP的积淀 取之不尽用之不竭的自监督信…

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性 将skip属性注释掉或者改为false 如果为true,则工程找不到主启动类

Python print 高阶玩法

Python print 高阶玩法 当涉及到在Python中使用print函数时,有许多方式可以玩转文本样式、字体和颜色。在此将深入探讨这些主题,并介绍一些print函数的高级用法。 1. 基本的文本样式与颜色设置 使用ANSI转义码 ANSI转义码是一种用于在终端&#xff0…