微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mariadb 10.3使用mariabackup备份进行主

mariabackup为Mariadb在xtrabackup的基础上新建的一个分支,认情况已经随mariadb安装了。

1.主库创建主从账号

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/MysqL

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

5.从库启动数据库服务
注意:启动从库前,需要将从库的INNODB的配置文件与备份文件里的backup-my.cnf里的一直,否则可能无法启动数据库

# 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

设置文件权限

chown -R MysqL:MysqL /var/lib/MysqL/

启动从库

systemctl start MysqL

6.从库设置主从
查看备份文件的xtrabackup_binlog_info里的

MysqL-bin.000248        17358780        0-155-1993077

从上面我们就知道从库设置的binlog文件以及起始复制位置了

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里存储的位置

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐