mariadb集群配置

一、mariadb主从同步

主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构来搭建
在这里插入图片描述

1.原理过程:

  1. master记录二进制日志。在每个事务更新数据完成之前,master在二进制日志记录这些改变。MySQL将事务串行的写入二进制日志,即使事务中的语句都是交叉执行的。在事件写入二进制日志完成后,master通知存储引擎提交事务。
  2. slave将master的binary log拷贝到它自己的中继日志。首先,slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接,然后开始binlog dump process。Binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。
  3. SQL slave thread(SQL从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志的开销很小。
  4. 此外,在master中也有一个工作线程:和其它MySQL的连接一样,slave在master中打开一个连接也会使得master开始一个线程。复制过程有一个很重要的限制–>复制在slave上是串行化的,也就是说master上的并行更新操作不能在slave上并行操作。

2.mariadb主从配置

环境准备:

mariadb01:192.168.30.148
mariadb02:192.168.30.149
操作系统:CentOS-7-x86_64
数据库版本:Mariadb-10.3.7(数据库版本要一致)
主从关系:mariadb01为主,mariadb02为从

注意:

  1. 版本

    (1)双方的MySQL版本要一致;
    (2)如果不一致:主的要低于从的;  
    
  2. 从什么位置开始复制:

    (1)都从0开始:两台新服务器,没有任何数据;
    (2)主服务器已经运行一段时间,并且存在不小的数据集:把主服务器备份,然后在从服务恢复,从主服务器上备份时所处的位置开始复制。
    
配置mariadb01:

1.修改配置文件
在[server]或[mysqld]下添加以下配置

server-id=1
log-bin=mysql-bin

2.重启mariadb服务

systemctl restart mariadb

3.创建主从连接账号与授权
在这里插入图片描述

4.查看主服务器数据库状态
在这里插入图片描述

配置mariadb02:

1.修改配置文件

vim /etc/my.cnf.d/server.cnf
同样的位置添加如下配置
server-id=2

2.重启服务

systemctl restart mariadb

3.登录数据库建立主从连接

MariaDB [(none)]> change master to master_host='192.168.30.148',
    -> master_user='slave',
    -> master_password='slave',
    -> master_log_file='mysql-bin.000001',
    -> master_log_pos=765;

注意
MASTER_LOG_FILE
MASTER_LOG_POS
此两项必须与master一致

4.启用复制线程

MariaDB [(none)]> start slave;


MariaDB [ryan]> show slave status\G;
*************************** 1. row ***************************
                Slave_IO_State: Waiting for master to send event
                   Master_Host: 192.168.30.148
                   Master_User: slave
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: mysql-bin.000001
           Read_Master_Log_Pos: 550323
                Relay_Log_File: c1-relay-bin.000002
                 Relay_Log_Pos: 550113
         Relay_Master_Log_File: mysql-bin.000001
              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: 550323
               Relay_Log_Space: 550419
               Until_Condition: None
                Until_Log_File: 
                 Until_Log_Pos: 0
            Master_SSL_Allowed: No
            Master_S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值