zoukankan      html  css  js  c++  java
  • 主从架构介绍和操作

    主从架构:
    异步:效率有延迟高,安全性低,

    主:可读可写,(dump thread)
    从:可读不可写 (sql thread, i/o thread)
    主从复制的原理:
    主可读可写,从可读不可写(read only)
    当有数据增删改的时候主库中会写入二进制日志,从的io线程会读取主的二进制日志,主的dump发送数据给从然后存储到中继日志中,从的sql线程会读取中中继日志进行数据同步
    主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失





    配置:
    yum配置
    [mariadb]
    name=MariaDB
    baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
    gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    服务器1: MariaDB01 192.168.126.8
    服务器2: MariaDB02 192.168.126.9
    操作系统: CentOS7.6
    数据库版本: MariaDB-10.3.7
    主从关系: MariaDB01为主,MariaDB02为从
    MariaDB01
    第一步 :修改配置文件
    [root@zxw8 /]# vim /etc/my.cnf.d/server.cnf
    在[server]下加入以下
    server-id=1
    log-bin=mysql-bin
    第二步: 重启mysql服务
    [root@zxw8 /]# systemctl restart mariadb
    第三步:回滚
    MariaDB [mysql]> flush logs;
    MariaDB [mysql]> show master status;
    第四步:创建主从连接帐号与授权
    grant replication slave on *.* to slave@'%' identified by 'slave';
    4.show master status

    MariaDB02
    第一步. 修改配置文件
    vi /etc/my.cnf.d/server.cnf
    server-id=2
    第二步. 重启mysql服务
    service mysqld restart
    第三步.登录数据库
    mysql -uroot -p123
    第四步: 建立主从连接
    change master to master_host='192.168.126.8',
    master_user='slave',
    master_password='slave',
    master_port=3306,
    master_log_file='mysql-bin.000007',
    master_log_pos=385;


    第五步:启动io sql 线程
    start slave;
    第六步:查看线程
    show slave status G
    主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构来搭建

    show master status
    线程:
    IO,和SQL

    #如果出现不同步可以执行以下步骤
    stop slave
    set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
    start slave
    或者
    stop slave;
    mysql> change master to
    master_host='192.168.254.28',
    master_user='user',
    master_password='pwd',
    master_port=3306,
    master_log_file='mysql-bin.000008',
    master_log_pos=483;
    start slave

    Master_Host: 192.168.126.8 主ip
    Master_User: slave 主用户
    Master_Port: 3306 端口
    Connect_Retry: 60
    Master_Log_File: mysql-bin.000007 主二进制文件
    Read_Master_Log_Pos: 385
    Relay_Log_File: zxw7-relay-bin.000002
    Relay_Log_Pos: 555
    Relay_Master_Log_File: mysql-bin.000007
    Slave_IO_Running: Yes 线程
    Slave_SQL_Running: Yes 线程

     

  • 相关阅读:
    腾讯视频插入网页的代码;
    FW: 软件持续交付的诉求;
    TOGAF
    Windows WSL2 htop打开黑屏的问题解决
    requests.exceptions.ConnectionError: HTTPSConnectionPool(host='appts.xxx.com%20', port=443):
    sqlalchemy实现模糊查询
    jenkins过滤版本,可选择版本
    QML 布局之一:锚布局详解(各种例子)
    Qt Quick 常用控件:Button(按钮)用法及自定义
    The Common Order Operations of Dis Operation System (DOSS)
  • 原文地址:https://www.cnblogs.com/itzhao/p/11294021.html
Copyright © 2011-2022 走看看