日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql半双工主从复制

發(fā)布時間:2024/4/19 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql半双工主从复制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MHA的搭建流程:https://blog.csdn.net/qq_35349982/article/details/108578414

用的虛擬機。以下是IP列表

  • master-1 192.168.182.128

  • slave-1 192.168.182.132

  • slave-2 192.168.182.130

  • mha-1 192.168.182.133

關(guān)閉防火墻

1.機器都要做關(guān)閉防火墻:

systemctl stop firewalld.servicesystemctl disable firewalld.servicesystemctl status firewalld.service

centos虛擬機安裝mysql

這里采用的是rpm-bundle.tar安裝方式。只要安裝上去就行,其他方式也行,不建議使用docker

cd /usr/local/src tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar## centos自帶 mariadb,查詢并刪除 rpm -qa|grep mariadb rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 --nodeps## i表示安裝,v表示顯示安裝過程,h表示顯示進度 ## 安裝common包 rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm ## 安裝lib包 rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm ## 安裝libs-compat包 rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm ## 安裝client包 rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm ## 安裝server包 rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm ## 安裝devel包 rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm ## 初始化mysql mysqld --initialize --user=mysql ## 查詢密碼 cat /var/log/mysqld.log ## 獲取臨時密碼 ZTl%tXzk#57 ## 開機自啟 systemctl start mysqld.service ## 查詢狀態(tài)是否啟動 systemctl status mysqld.service ##登錄mysql mysql -uroot -p## 進入mysql 設(shè)置 密碼 set password=password('root'); ## mysql授權(quán)外部鏈接 GRANT REPLICATION SLAVE ON *.* TO 'root'@'%' identified by 'root'; GRANT all privileges ON *.* TO 'root'@'%' identified by 'root'; ##刷新 flush privileges; ## 退出 關(guān)閉防火墻 exit#mysql內(nèi)執(zhí)行 systemctl stop iptables; systemctl stop firewalld; ## 禁用防火墻 systemctl disable firewalld.service

主從復制安裝

Master主機

  • 先進入mysql 安裝插件
  • install plugin rpl_semi_sync_master soname 'semisync_master.so';
  • 配置etc下的my.cnf(my.ini)文件
  • vim /etc/my.cnf #開啟binlog日期 log_bin=mysql-bin server-id=1 ## 同步日志 sync-binlog=1 ## 忽略一些庫 binlog-ignore-db=performance_schema binlog-ignore-db=informance_schema binlog-ignore-db=sys #半同步復制的參數(shù) rpl_semi_sync_master_enabled=1 rpl_semi_sync_master_timeout=1000
  • 重啟mysql服務(wù)
  • service mysqld restart
  • 登錄mysql
  • mysql -uroot -proot #查詢狀態(tài) show master status;

    Slave主機

  • 進入mysql 安裝salve插件

    install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
  • 修改slave主機的配置文件my.cnf

  • #注意server-id不能相同 server-id=2 relay_log=mysql-bin #mha的時候要用 log-bin=slave1 #指定不同步的數(shù)據(jù)庫 binlog-ignore-db=performance_schema binlog-ignore-db=information_schema binlog-ignore-db=sys #半同步復制的參數(shù),如果不采用半同步復制可跳過 rpl_semi_sync_slave_enabled=1 relay_log_info_repository=table;
  • 刷新配置
  • service mysqld restart
  • 進入mysql 查詢從庫的半同步復制狀態(tài)
  • SHOW VARIABLES LIKE '%semi%';

    如果為on則代表以及開啟半同步復制的方式(如果不采用半同步復制可跳過)

    5. 指定master

    ## 從庫中如果有值,說明之前做過 show master status; ##將slave重置一下 reset slave; ##先停步slave服務(wù)線程,這個是很重要的, stop slave; ##指定mater ## master_log_file就是主機狀態(tài)的File值 ## master_log_pos就是主機狀態(tài)的position值 change master to master_host='192.168.182.128',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000003',master_log_pos=154;#開啟slave同步 start slave;

    多個slave只需要重復進行上面步驟,需要注意my.cnf中的server-id需要修改保證確定唯一。

    問題

    1.Job for mysqld.service failed. See 'systemctl status mysql服務(wù)啟動失敗

    • 方案一:有可能是配置文件參數(shù)錯誤了
    • 方案二: https://blog.csdn.net/qq_39163430/article/details/81941313

    總結(jié)

    以上是生活随笔為你收集整理的Mysql半双工主从复制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。