MariaDB主從

主從介紹

MySQL/MariaDB主從又叫作Replication、AB複製。簡單講就是A和B兩臺機器作主從後,在A上寫數據,另一臺B也會跟着寫數據,二者數據實時同步的,MySQL主從基於binlog,主上須開啓binlog才能進行主從。html

主從過程大體有3個步驟mysql

1)主將更改操做記錄到binlog裏
2)從將主的binlog事件(sql語句)同步到從本機上並記錄在relaylog裏
3)從根據relaylog裏面的sql語句按順序執行

主從有3個線程:linux

主上有一個log dump線程,用來和從的I/O線程傳遞binlog
從上有兩個線程,其中I/O線程用來同步主的binlog並生成relaylog,另一個SQL線程用來把relaylog裏面的sql語句落地

mysql主從使用場景:web

1)數據備份,主機器宕機,從機器還能隨時對web提供服務
2)讀寫分離,做爲一個從庫,讀的庫,減輕主庫的壓力,數據備份且能夠分擔主機器被調用數據時的壓力,寫的操做只能在主庫,不能在從庫,若是從庫寫數據就會致使主從不一樣步。

補充幾篇文章,但願你們有時間看看,面試的時候也許會被問到面試

https://blog.csdn.net/xiaoyi23000/article/details/80521423
https://www.cnblogs.com/abobo/p/4242417.html
http://blog.itpub.net/15498/viewspace-2125085/

主從搭建

準備

兩臺機器sql

wangzb01  主
wangzb02  從

兩臺機器都安裝 MariaDB數據庫

主上配置

wangzb01上開啓binlog,
定義server-id,
定義log-bin
重啓服務
受權主從用戶 grant replication slave on *.* to 'repl'@'192.168.153.134' identified by 'repl_passwd';

從上配置

wangzb02上定義server-id
增長 replicate_wild_do_table 或者 replicate_wild_ignore_table

備份主上的數據,恢復到從上

備份 mariabackup --backup --user=root --password=aminglinux --target-dir /data/190310ide

拷貝測試

rsync -a /data/190327/  192.168.153.134:/data/190327/

在從上恢復spa

中止數據庫
清空datadir
mariabackup --prepare --target-dir /data/190327/
mariabackup --copy-back --target-dir /data/190327/
改屬主、屬組
啓動

開啓主從同步

在從上

stop slave;
change master to master_host='192.168.153.133', master_port=3306, master_user='repl', master_password='repl_passwd', master_log_file='xxxxx', master_log_pos=xxx;
start slave;

測試主從

從上:

show slave status\G

主上建立庫、建立表,從上查看

相關文章
相關標籤/搜索