MariaDB實現主從配置及讀寫分離 一

2022-09-11 13:30:26 字數 2621 閱讀 6583

一、主從複製方案

1.  在兩台centos7虛擬機器上分別部署mariadb, 主資料庫伺服器ip為192.168.17.235, 從伺服器ip為192.168.17.238. 從伺服器通過調取主伺服器上binlog日誌, 在本地重建庫、表, 實現與主伺服器的ab複製.

二、步驟

1. 對兩台虛擬機器上現有的mariadb 資料庫初始化.

為了在啟用binlog日誌及資料庫同步之前保持主、從庫的一致性, 最好對主、從伺服器初始化(備份主伺服器上現有的庫, 手工匯入到從伺服器上). 當現有庫、表引擎都是myisam時, 執行離線備份、恢復, 能極大的提高效率.   其它情況可以通過musqldump等工具來實現庫的匯出、匯入. 

(1)在主伺服器192.168.17.235 上如下操作:

mysql -u root -p     //登入mariadb

mariadb>reset master;    //重置binlog日誌

mariadb>quit;

mysqldump -u root -p --all-databases > /root/mysql.sql    //備份主伺服器庫

scp /root/mysql.sql [email protected]:/root/    //將備份檔案拷貝到從伺服器

(2)在從伺服器192.168.17.238上如下操作:

mysql -u root -p < /root/mysql.sql    //將備份資料庫匯入從伺服器mariadb

2. 配置主伺服器

vim /etc/my.cnf

[mysql]

log_bin=c235-bin    //啟用binlog日誌, 並指定檔名字首

server_id=68      //指定伺服器id號

systemctl restart mariadb  

mariadb>grant replication sl**e on *.* to 'replicater'@'192.168.17.%' identified by '123'

;    //新建備份使用者,授予複製許可權「replication sl**e", 允許從sl**e伺服器訪問

mariadb>show master status;    //檢視主伺服器狀態, 記錄當前日誌檔名和偏移位置

3. 配置從伺服器

vim /etc/my/cnf    

[mysql]

log_bin=c238-bin    //啟用binlog日誌, 並指定檔名字首

server_id=69       //指定伺服器id號, 不能與master的id相同

sl**e-net-timeout=60    //指定當主、從伺服器網路中斷時,重試超時時間

systemctl restart mariadb    //重啟mariadb

mariadb>change master to master_host='192.168.17.235',      //通過change master語句指定master的ip、同步使用者名稱和密碼、起始日誌檔案、偏移位置

master_user='replicater',

master_password='123',

master_log_file='user.000004',

master_log_pos=401

mariadb>start sl**e;      //啟動sl**e

mariadb>show sl**e status\g;    //檢視sl**e伺服器狀態

4. 設定從伺服器為唯讀

從伺服器作為主伺服器的備份, 避免寫入衝突, 在採用主、從複製結構時, 為保持主、從資料庫的一致性, 使用者不能在從伺服器上執行資料庫寫入操作. 

可以通過my.cnf將從伺服器配置為唯讀模式. 在唯讀模式下, 只有super許可權的使用者和sl**e同步執行緒才能寫入.

vim /etc/my.cnf

[mysql]

...read

-only=1    //設定從伺服器為唯讀模式

mysql主從原理及配置

一 mysql集群架構 1 一主一從 2 雙主 3 一主多從 擴充套件mysql的讀效能 4 多主一從 5.7開始支援 5 聯機複製 關係圖 二 配置主從用途及條件 2.1用途 1 保障可用性,故障切換。2 提高效能,讀寫分離,讀在從庫。3 容災備份。2.2條件 1 主庫開啟bin log,並正確配...

MySQL主從原理及配置詳解

mysql主從配置及原理,供大家參考,具體內容如下 一 環境選擇 1.centos 6.5 2.mysql 5.7 二 什麼是mysql主從複製 mysql主從複製是其最重要的功能之一。主從複製是指一台伺服器充當主資料庫伺服器,另一台或多台伺服器充當從資料庫伺服器,主伺服器中的資料自動複製到從伺服器...

Mysql主從備份及雙向備份配置

單向mysql主從備份 主伺服器 192.168.1.100 log bin mysql bin 日誌檔案 可重新定義日誌位置 server id 1 binlog do db test 需要同步的資料庫 允許多個,多行抒寫 binlog ignore db mysql 不需要同步的資料庫 從伺服器...