Mysql高阶第一章 主从架构的复现

这篇具有很好参考价值的文章主要介绍了Mysql高阶第一章 主从架构的复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

这其实是一个很久以前搭的项目,五月在面移动的时候,面试官就问了我知晓哪些数据库的高级特性,有没有做过集群部署,我说我没有做过,只是搭建过分布式,然后就是分布式里面的主从架构。但是这个时候又要涉及到主从架构里面的一些原理问题。
咱们就先来考虑一下一主一从架构
本文并不是从0到1的搭建过程,而是从1到1.01的练习版本,如果有想搭建的,可以在小破站上看康师傅讲解。
Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库

第一章 找到主数据库和从数据库对应的虚拟机

1.1 查对应虚拟机IP

当时配置的时候,虚拟机配的太多了,搞得直接分辨不了这些虚拟机哪个是哪个了
Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库如上图所示,链接建的太多了

来确定有没有安装数据库:

1.2 rpm 查找数据库是否安装

rpm -qa | grep mysql

查出来这个结果

[root@centos121 ~]# rpm -qa | grep mysql
mysql-community-client-plugins-8.0.25-1.el7.x86_64
mysql-community-client-8.0.25-1.el7.x86_64
mysql-community-common-8.0.25-1.el7.x86_64
mysql-community-libs-8.0.25-1.el7.x86_64
mysql-community-server-8.0.25-1.el7.x86_64

1.3 查找数据库详细配置信息

这一步需要确定哪个
最后的解决方案,就是vim my.cnf,一个个看配置信息,因为我当时是照着尚硅谷那个康师傅Mysql配的嘛
同时看那个初始的参照配置文档

主节点的特点是如下图所示
Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库
从节点中,my.cnf 是这样的
Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库
记下这两个设备的IP地址

主:192.168.80.121
从:192.168.80.120

第二章 启动主从复制

这个启动并不是很顺利,好不容易找到主库和从库,结果呢,找不到

2.1 SHOW SLAVE STATUS\G;

标题这个语句其实是有问题的,问题的关键就是这个
不可以加这个符号

ERROR: 
No query specified

2.2 Slave_IO_Running: No

这个错误具体来是这样的,类似于binary log的读取出现了问题,在slave这个数据库里面,它会报1236的错误。

Last_IO_Error: Got fatal error 1236 from master解决方法
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'
               Last_SQL_Errno: 0

由于清数据导致主从库不同步了

2.3 解决方案

2.3.1 进入slave中输入,停止从库同步:

mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)

2.3.2 进入master中输入,清空日志

mysql> flush logs;
Query OK, 0 rows affected (0.02 sec)

2.3.3 进入master中输入,记录状态信息

mysql> show master status;
+----------------+----------+--------------+------------------+-------------------+
| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| xyt-bin.000005 |      156 |              |                  |                   |
+----------------+----------+--------------+------------------+-------------------+

2.3.4 之后进入从库配置,不要再动主库

mysql> CHANGE MASTER TO MASTER_LOG_FILE='xyt-bin.000005',MASTER_LOG_POS=156;
Query OK, 0 rows affected, 3 warnings (0.01 sec)

mysql>  start slave;
Query OK, 0 rows affected, 1 warning (0.03 sec)

mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.80.121
                  Master_User: slave1
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: xyt-bin.000005
          Read_Master_Log_Pos: 156
               Relay_Log_File: centos121-slave-relay-bin.000002
                Relay_Log_Pos: 322
        Relay_Master_Log_File: xyt-bin.000005
             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: 156
              Relay_Log_Space: 541
              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_UUID: d2f34f1e-df67-11ed-bf42-000c29229240
             Master_Info_File: mysql.slave_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: 
            Executed_Gtid_Set: 
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
       Master_public_key_path: 
        Get_master_public_key: 0
            Network_Namespace: 
1 row in set, 1 warning (0.00 sec)

2.3.5 测试

Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库

2.3.6 从库里面一开始没有数据

Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库

2.7 测试后验证确实多了一条数据

Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库

第三章 验证主库

Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库

121确实是主节点
Mysql高阶第一章 主从架构的复现,三 SQL+mybatis+redis,mysql,架构,数据库
二次验证配置完成文章来源地址https://www.toymoban.com/news/detail-646711.html

到了这里,关于Mysql高阶第一章 主从架构的复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第一章 无人机入门(二)软件架构

    之前我写了一篇关于无人机硬件架构的博客,接下来我继续写关于软件架构的。 什么是软件?百度百科里面软件的定义是“按照特定顺序组织的计算机数据和指令的集合”,在这里我们只需要理解为程序即可,也就是说我们的软件,是运行在计算机(不论是Intel还是AMD亦或者

    2024年02月08日
    浏览(45)
  • 第一章 SQL Server 数据库部署

     个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。 座右铭:海不辞水,故能成其大;山不辞石,故能成其高。 个人主页: 小李会科技的主页   目录 一 数据库介绍 (1)使用数据库的必要性 (2)数据库的基本概念  1.数

    2024年02月07日
    浏览(45)
  • MySQL——第一章 MySQL基础1

    net start mysql80 net stop mysql80 mysql -u root -p MySQL下载及安装 MySQL社区版

    2024年01月22日
    浏览(31)
  • 【MySQL】SQL的高阶用法

    数据准备 所谓聚合,就是将多行汇总成一行;其实,所有的聚合函数均如此——输入多行,输出一行。聚合函数具有自动滤空的功能,若某一个值为NULL,那么会自动将其过滤使其不参与运算。 Count() 统计表中数据的行数或者统计指定列其值不为NULL的数据个数 示例 Max() 计算

    2024年02月08日
    浏览(49)
  • 【MySQL新手到通关】第一章 数据库概述

    持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用 。大多数情况下,特别是企 业级应用, 数据持久化意味着将内存中的数据保存到硬盘上加以”固化” ,而持久化的实现过程大多 通过各种关系数据库来完成。 持久化的主要作用是 将内存中的数据存储在关

    2024年02月07日
    浏览(49)
  • MySQL双主架构、主从架构

    MySQL官方说法:         单表2000万数据就达到瓶颈了。所以为了保证查询效率,要让每张表的大小得到控制。 主数据库都负责增删改查。 比如有1000W的数据,有两个主数据库,就将数据分流给两个主数据库,两个主数据库之间增删改再做数据同步,查询自由进行。 实现方式

    2024年02月11日
    浏览(40)
  • 开源数据库MYSQL DBA运维实战 第一章 部署

    数据库管理系统  DBMS    SQL(RDS关系型数据库) DBA  工程师 DDL  数据库定义语言:数据库,表,视图,索引,存储过程,函数 DML  数据库操纵语言:插入数据insert,删除数据delete,更新数据update DQL  数据库查询语言:查询数据selete DCL  数据库控制语言:例如控制用户的访

    2024年02月21日
    浏览(53)
  • Mysql架构篇--Mysql 主从同步方案

    本文对mysql的传统主从复制,半同步复制和组复制进行介绍。 Master 数据库只要发生变化,立马记录到Binlog 日志文件中,Slave数据库启动一个I/0 thread连接Master数据库,请求Master变化的二进制日志。Save I/0获取到的二进制日志,保存到自己的Relay log 日志文件中。Slave 有一个 SQL

    2024年02月07日
    浏览(36)
  • MySQL主从架构

    随着业务的持续增长,单体数据库满足不了业务的需求,可能会出现负载过重,操作数据库速度变慢的情况。为了解决这个问题,数据库一般采用一主一从、一主多从的架构。 为了操作提高效率,减轻压力,采用读写分离: • 主数据库只负责写 • 从数据库只负责读 MySQL的

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包