Mariadb 10.3使用mariabackup備份進行主從搭建

mariabackup爲Mariadb在xtrabackup的基礎上新建的一個分支,默認狀況已經隨mariadb安裝了。mysql

1.主庫建立主從帳號sql

grant replication slave on *.* to 'repl'@'%' identified by "repl"

2.主庫使用mariabackup建立全量備份數據庫

mkdir -p /data/mariabackup
mariabackup --backup --target-dir=/data/mariabackup -S /var/lib/mysql/mysql.sock -uroot -p123456

3.準備備份數據服務器

mariabackup --prepare --target-dir=/data/mariabackup

4.將備份數據發送到從庫
注意:從庫須要關閉mysql服務,而且會將從庫的數據所有刪除
從庫數據位置 /var/lib/mysqlide

cd /data/mariabackup
rsync -av . slave_hostip:/var/lib/mysql

5.從庫啓動數據庫服務
注意:啓動從庫前,須要將從庫的INNODB的配置文件與備份文件裏的backup-my.cnf裏的一直,不然可能沒法啓動數據庫spa

# This MySQL options file was generated by innobackupex.

# The MySQL server
[mysqld]
innodb_checksum_algorithm=crc32
innodb_data_file_path=ibdata1:12M:autoextend
innodb_log_files_in_group=2
innodb_log_file_size=50331648
innodb_page_size=16384
innodb_undo_directory=./
innodb_undo_tablespaces=0

設置文件權限code

chown -R mysql:mysql /var/lib/mysql/

啓動從庫server

systemctl start mysql

6.從庫設置主從
查看備份文件的xtrabackup_binlog_info裏的ip

mysql-bin.000248        17358780        0-155-1993077

從上面咱們就知道從庫設置的BINLOG文件以及起始複製位置了get

change master to master_host='master_server', master_port=3306,master_user='repl',master_password='repl',MASTER_LOG_FILE='mysql-bin.000248', MASTER_LOG_POS=17358780;

注意:備份文件裏有
xtrabackup_binlog_info ---數據庫的BINLOG以及起始位置
xtrabackup_binlog_pos_innodb ---數據庫的INNODB的BINLOG以及起始位置
xtrabackup_info ---數據庫備份的信息

正常狀況若是服務器的數據庫都是INNODB的存儲引擎,則xtrabackup_binlog_info和xtrabackup_binlog_pos_innodb文件是一致的,可是若是服務器有其餘存儲引擎好比說myisam,則xtrabackup_binlog_info的起始位置要比xtrabackup_binlog_pos_innodb大。所以咱們選擇xtrabackup_binlog_info裏存儲的位置

相關文章
相關標籤/搜索