MariaDB用法——主從複製高可用
主從
在主節點實現
vim /etc/my.cnf
server_id=1
log_bin
innodb_file_per_table
重啟服務後生成新的二進位制日誌,舊的可以刪掉
systemctl restart mariadb
新增從伺服器同步使用者
mysql>grant replication slave on *.* to 使用者名稱@'IP或網段' identified by '密碼';
從節點
vim /etc/my.cnf
server_id=2
systemctl restart mariadb
新增主伺服器
可以檢視一下幫助
help change master to
change master to master_host='主伺服器IP',master_user='在主伺服器建立的使用者名稱',master_p
assword='密碼',master_port=埠,master_log_file='從哪個二進位制檔案同步',master_log_pos=具體位置
看下狀態
開啟複製
start slave
建立資料庫,檢視是否能同步
主伺服器建立資料庫
從伺服器檢視
主從複製
已有舊主,建立新從
建立從伺服器該配置檔案(參考上一實驗,只改配置檔案)
備份主伺服器
mysqldump -A -F --single-transaction --master-data=1 > /backup/all.sql
scp /backup/all.sql 從節點:/
更改備份檔案
匯入備份檔案
現在資料庫還是不同步的,需要開始同步一下
start slave;
從伺服器最好啟用read_only=ON禁止寫操作,防止誤操作。
級聯複製
準備四臺資料庫伺服器
主伺服器改配置建立賬號
級聯伺服器改配置檔案,必須新增三項
新增主伺服器並同步資料
檢視狀態
reset slave;
reset slave all;從伺服器清除所有二進位制日誌記錄,重新複製
建立主從使用者
從伺服器
連線級聯伺服器
檢視連線狀態
操作失誤時會導致如下報錯
表資料已存在
解決方法刪除庫重新同步
日誌異常
重新匯入日誌檔案change master to master_log_file='mariadb-bin.000001',master_log_pos=245;
賬號故障
排查賬號詳細故障並解決(密碼錯誤、許可權錯誤、使用者名稱錯誤等)
詳細故障可查詢報錯編號perror
半同步複製
主伺服器
啟用外掛
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
開啟半同步功能
從伺服器
相同操作
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
重新同步從伺服器開啟半同步
資料庫加密
CA伺服器
生成私鑰key
openssl genrsa 2048 > cakey.pem
自簽名檔案
openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3650
生成主從伺服器的私鑰檔案和請求檔案兩個檔案(全部在CA伺服器上做)
主伺服器
openssl req -newkey rsa:2048 -days 365 -nodes -keyout master.key > master.csr
頒發證書
openssl x509 -req -in master.csr -CA cacert.pem -CAkey cakey.pem -set_serial 01 >master.crt
從伺服器
複製到主從伺服器並刪除不需要的檔案
主伺服器
從伺服器
授權mysql
主伺服器
加密成功
建立從登陸的加密賬號
grant replication slave on *.* to [email protected]'192.168.30.%' identified by '111111' require ssl;
從伺服器(可以使用同上操作)
測試連線
從伺服器做加密
已啟用
授權加密
CHANGE MASTER TO
MASTER_HOST='192.168.30.112',
MASTER_USER='tom',
MASTER_PASSWORD='111111',
MASTER_LOG_FILE='mariadb-bin.000002',
MASTER_LOG_POS=407,
MASTER_SSL=1,
MASTER_SSL_CA = '/etc/my.cnf.d/ssl/cacert.pem',
MASTER_SSL_CERT = '/etc/my.cnf.d/ssl/slave.crt',
MASTER_SSL_KEY = '/etc/my.cnf.d/ssl/slave.key';
開始同步
高可用
實戰:實現主從高可用MHA
環境:四臺主機
manager,master,slave1,slave2
1 準備
selinux ,iptables ,time
用manager主機做時間伺服器
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd
其他伺服器用ntpdate IP(manager主機的IP)命令同步
搭建主從伺服器,步驟同上
主配置檔案
兩個從配置檔案server_id編號不同
新增賬號
start slave
四個主機實現ssh key驗證同上
建立一個授權賬號
安裝MHA
manager主機兩個包都安裝,其他只安裝node
在manager節點
下載軟體包
https://code.google.com/archive/p/mysql-master-ha/
yum install mha4mysql-manager-0.56-0.el6.noarch.rpm mha4mysql-node-0.56-0.el6.noarch.rpm
建立MHA的配置檔案
[server default]
user=mhauser
password=111111
manager_workdir=/data/mastermha/app1/
manager_log=/data/mastermha/app1/manager.log
remote_workdir=/data/mastermha/app1/
ssh_user=root
repl_user=repluser
repl_password=111111
ping_interval=1
[server1]
hostname=192.168.30.112
candidate_master=1
[server2]
hostname=192.168.30.113
candidate_master=1
[server3]
hostname=192.168.30.114
6 在manager節點上
masterha_check_ssh --conf=/etc/mastermha/app1.cnf 檢測ssh
masterha_check_repl --conf=/etc/mastermha/app1.cnf 檢測複製情況
masterha_manager --conf=/etc/mastermha/app1.cnf 啟動mha(在伺服器的tty上執行,不要遠端執行)
驗證
複製功能
主:
從:
MHA測試
主伺服器宕機
切換完成
切換完成
實驗:實現Gelera cluster
三臺主機(太簡單了,不想截圖)
1 yum安裝
[mariadb]
name = MariaDB
baseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.60/yum/centos7-amd64/
gpgcheck=0
安裝
yum -y install MariaDB-Galera-server
更改配置檔案,三臺相同
啟動第一個節點
啟動其他節點
檢視狀態
驗證
相關推薦
MariaDB用法——主從複製高可用
主從 在主節點實現 vim /etc/my.cnf server_id=1 log_bin innodb_file_per_table 重啟服務後生成新的二進位制日誌,舊的可以刪掉
15.7,哨兵叢集 redis-sentinel主從複製高可用
redis-sentinel主從複製高可用 Redis-Sentinel Redis-Sentinel是redis官方推薦的高可用性解決方案,當用redis作master-slave的高可用時,如果master
MariaDB的備份與主從、高可用實踐
1、編寫指令碼,支援讓使用者自主選擇,使用mysqldump還是xtraback全量備份。 [root@test-centos7-node1 scripts]# cat chose_backup_mysql.sh #!/bin/bash # #*******************************
基於DR模式的keepalived主從模式高可用架構搭建
linuxkeepalived高可用一:架構圖示2.keepalived是什麽?Keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機 ,或工作出現故障,Keepalived將檢測到,通過VRRP協議,將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常後 K
drbd+mariadb+corosync+pacemaker構建高可用,實現負載均衡
drbd mysql 高可用DRBD DRBD是由內核模塊和相關腳本而構成,用以構建高可用性的集群 drbd 工作原理:DRBD是一種塊設備,可以被用於高可用(HA)之中.它類似於一個網絡RAID-1功能。當你將數據寫入本地 文件系統時,數據還將會被發送到網絡中另一臺主機上。以相同的形式記錄在
redis主從+keepalived 高可用 自動切換
redis主從高可用一環境介紹 master: 172.168.1.69slave : 172.168.1.57 VIP 172.168.1.253 虛擬IP 二。設計思路: 當 Master 與 Slave 均運作正常時, Master負責服務,Slave負責Standby; 當
初識MariaDB之7——MHA高可用
mysql mariadb mha 一、背景介紹在傳統的MySQL一主一從或一主多從結構中,主節點存在單點故障隱患,為了解決該故障,進而引入了MHA高可用的方式。MHA由manager和node兩部分組成,manager可以安裝在一個獨立的服務器上或非master角色的MySQL服務器上,1個ma
PGSQL主從+keepalived高可用配置
bash virtual scrip send 模擬 sta rac nopreempt timeout 環境說明:主機與IP:192.168.11.177 主庫192.168.11.180 備庫 192.168.11.210 VIP 系統:centos7.2PGSQL9
基於Redis Sentinel的Redis叢集(主從&Sharding)高可用方案
本文主要介紹一種通過Jedis&Sentinel實現Redis叢集高可用方案,該方案需要使用Jedis2.2.2及以上版本(強制),Redis2.8及以上版本(可選,Sentinel最早出現在Redis2.4中,Redis2.8中Sentinel更加穩定),Red
mariadb配置主從複製
本文章是通過docker建立了兩個mariadb的容器,主要是記錄,方便以後使用..... 1、master配置 a、修改/etc/my.cnf檔案 [mysqld] server-id=1 log_bin=master-bin binlog-ignore-db=mys
redis --redis主從,高可用,叢集
安裝redis,見上一篇這裡寫連結內容 redis主從複製 修改redis主配置檔案 master(server5): #bind 172.25.40.5 protected-mode no slave(server6): #bind 172.25
基於jedis、redis-sentinel的redis主從、高可用、sharding架構
最近專案上需要對Redis(目前redis用的是2.8版本)做高可用、叢集等優化,就擴充套件了jedis客戶端(MasterSlaveJedis、MasterSlaveJedisPool、ShardedMasterSlaveJedis、ShardedMasterSlaveJ
mariadb叢集,主從複製,主從切換,資料告警
1.mariadb叢集是基於wsrep的配置,目的是為了一個機器掛了,其它機器還是正常動作的,配置好後,如果先關閉了第一個節點,或者第一個節點掛掉,就必須要更改gcomm://地址了,將該地址指向叢集中資料為最新的ip地址。非第一節點的,如果掛掉,再次啟動會同步最新的資料。
MariaDB實現主從複製
MySQL之父Widenius先生離開了Sun之後,覺得依靠Sun/Oracle來發展MySQL,實在很不靠譜,於是決定另開分支,這個分支的名字叫做MariaDB。 MariaDB跟MySQL在絕大多數方面是相容的,對於開發者來說,幾乎感覺不到任何不同。目前Ma
3. MariaDB設定主從複製
翻譯人員: 鐵錨 翻譯日期: 2013年12月25日 主從複製包含兩個步驟: 在 master 主伺服器(組)上的設定,以及在 slave 從屬伺服器(組)上的設定. 配置主伺服器 master如果沒有啟用,則需要 啟用二進位制日誌.給 master 設定唯一的 se
使用MMM實現MySQL雙主複製高可用
一、MMM簡介 1. 概述 MMM(Master-Master replication manager for MySQL)是一套支援雙主故障切換和雙主日常管理的指令碼程式。MMM使用Perl語言開發,主要用來監控和管理MySQL Master-Maste
Mariadb之主從複製的讀寫分離
首先我們來回顧下代理的概念,所謂代理就是指的是一端面向客戶端,另外一端面向服務端,代理客戶端訪問服務端,我們把這種代理叫正向代理;代理服務端響應客戶端我們叫做反向代理,這個我們在之前nginx系列部落格中闡述過這樣的概念;不管是正向代理還是反向代理他們都是代理,他們都有一個共同點就是代表一端(客戶端/服務
MySQL高可用--主從複製與讀寫分離
一、Mysql高可用概念 二、MySQL主從複製原理 叢集目的,減輕單臺伺服器壓力 三、MySQL主從複製配置 實際操作mysql伺服器叢集,主從複製的過程 master 192.168.230.128 slav
高可用Redis(八):Redis主從複製
1.Redis複製的原理和優化 1.1 Redis單機的問題 1.1.1 機器故障 在一臺伺服器上部署一個Redis節點,如果機器發生主機板損壞,硬碟損壞等問題,不能在短時間修復完成,就不能處理Redis操作了,這就是單機可能存在的問題 同樣的,伺服器正常執行,但是Redis主程序發
MySQL高可用架構設計(主從複製)
1、MySQL複製功能提供分擔讀負載 複製解決了什麼問題? 1、 實現在不同伺服器上的資料分佈 利用二進位制日誌增量進行