首页 > 其他分享 >xtrabackup8安装并部署主从

xtrabackup8安装并部署主从

时间:2023-08-26 15:44:05浏览次数:40  
标签:部署 data mysql8 -- xtrabackup mysql xtrabackup8 root 主从

环境:
OS:Centos 7
xtrabackup:8.0.28
mysql:8.0.28

1.下载xtrabackup-8.0.28

2.安装解压
[root@host135 soft]# tar -xvf percona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17.tar.gz
[root@host135 soft]# mv percona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17 /opt/xtrabackup-8.0.28

3.备份数据库
/opt/xtrabackup-8.0.28/bin/xtrabackup --defaults-file=/data/middle/mysql8/conf/my.cnf --user=root --socket=/data/middle/mysql8/mysql.sock  --password=mysql -P23306 --no-version-check --backup --target-dir=/opt/xtrabackup_file/

遇到错误1:
Failed to connect to MySQL server as DBD::mysql module is not installed at - line 1548.

加上参数,该报错不会出现,但是不影响备份:
--no-version-check

备份的目录文件:

[root@host135 xtrabackup_file]# ls
backup-my.cnf  db_test         mysql               sys       xtrabackup_binlog_info  xtrabackup_logfile
binlog.000003  ib_buffer_pool  mysql.ibd           undo_001  xtrabackup_checkpoints  xtrabackup_tablespaces
binlog.index   ibdata1         performance_schema  undo_002  xtrabackup_info

 

4.打包压缩
[root@host135 opt]# tar -cvf xtrabackup_file.tar ./xtrabackup_file

5.拷贝到从库机器
[root@host135 opt]# scp xtrabackup_file.tar [email protected]:/tmp/

###################异机器恢复部署主从#######################

1.安装相同版本的mysql
安装步骤省略

2.停掉数据库
[root@localhost opt]#/data/middle/mysql8/bin/mysqladmin -h localhost -uroot -P23306 -p -S /data/middle/mysql8/mysql.sock shutdown

3.备份之前的数据文件目录,并创建一个空目录
[root@localhost mysql8]# cd /data/middle/mysql8
[root@host02 mysql5718]# mv data bakdata
[root@host02 mysql5718]# mkdir data
这里要是binlog日志不是放在data目录的话,需要将binlog日志要删除掉,否则copy-backup过程有报如下错误:

xtrabackup: Can't create/write to file '/data/middle/mysql8/mysqllog/binlog/binlog.000004' (OS errno 17 - File exists)
2023-08-25T16:43:14.072671+08:00 0 [ERROR] [MY-011825] [Xtrabackup] cannot open the destination stream for binlog.000004
2023-08-25T16:43:14.072756+08:00 0 [ERROR] [MY-011825] [Xtrabackup] copy_file() failed.

 

解决办法:
删除binlog下的所有文件
[root@host134 data]# cd /data/middle/mysql8/mysqllog/binlog
[root@host134 binlog]# ls
binlog.000001  binlog.000002  binlog.000003  binlog.000004  binlog.index
[root@host134 binlog]# rm -rf *

 

4.xtrabackup恢复
解压文件
[root@localhost mha]# cd /tmp/
[root@localhost mha]# tar -xvf xtrabackup_file.tar
/opt/xtrabackup-8.0.28/bin/xtrabackup --defaults-file=/data/middle/mysql8/conf/my.cnf --user=root --prepare --target-dir=/tmp/xtrabackup_file/
/opt/xtrabackup-8.0.28/bin/xtrabackup --defaults-file=/data/middle/mysql8/conf/my.cnf --user=root --copy-back --target-dir=/tmp/xtrabackup_file/ ##这个步骤会把文件直接拷贝到配置文件的data目录

--copy-back期间会生产binlogr日志,需要在--copy-back之前删除掉原来的binlog日志

[root@host134 binlog]# cd /data/middle/mysql8/mysqllog/binlog
[root@host134 binlog]# ls -al
total 8
drwxrwxr-x 2 mysql mysql  47 Aug 25 16:47 .
drwxrwxr-x 5 mysql mysql  51 Aug 25 14:27 ..
-rw-r----- 1 root  root  197 Aug 25 16:47 binlog.000004
-rw-r----- 1 root  root   50 Aug 25 16:47 binlog.index
[root@host134 binlog]# more binlog.index 
/data/middle/mysql8/mysqllog/binlog/binlog.000004

 

另外一种方式:
直接解压到数据文件路径或是解压后把解压后的文件mv到数据文件目录,这样做的目的是不需要--copy-back步骤,特别是大文件的情况下拷贝文件很慢.

[root@localhost mha]# cd /tmp/
[root@localhost mha]# tar -xvf xtrabackup_file.tar
[root@host134 tmp]# cd xtrabackup_file
[root@host134 xtrabackup_file]# mv * /data/middle/mysql8/data/

/opt/xtrabackup-8.0.28/bin/xtrabackup --defaults-file=/data/middle/mysql8/conf/my.cnf --user=root --prepare --target-dir=/data/middle/mysql8/data/

 

5.修改目录属性启动数据库:
[root@localhost mysql8]# cd /data/middle
[root@localhost mysql8]# chown -R mysql:mysql ./mysql8


6.启动数据库
[root@localhost opt]#/data/middle/mysql8/bin/mysqld_safe --defaults-file=/data/middle/mysql8/conf/my.cnf --user=mysql &

7.部署从库

/data/middle/mysql8/bin/mysql -h localhost -uroot -P23306 --socket=/data/middle/mysql8/mysql.sock -p
mysql> reset slave;
mysql> reset master;
mysql> set global gtid_purged='f61fd6e1-4255-11ee-aaf5-52540051cd25:1-106'; ##xtrabackup_info中的binlog_pos = filename 'binlog.000004', position '197', GTID of the last change 'f61fd6e1-4255-11ee-aaf5-52540051cd25:1-106'

change master to master_host='192.168.1.135',
       master_user='repl',
       master_password='mysql',
       master_port=23306,
       master_auto_position=1;

mysql>start slave;

 

后续版本的正确语法

mysql> reset replica;
mysql> reset master;
mysql> set global gtid_purged='f61fd6e1-4255-11ee-aaf5-52540051cd25:1-106';
change replication source to source_host='192.168.1.135',
       source_user='repl',
       source_password='mysql',
       source_port=23306,
       source_auto_position=1;


mysql> start replica;

mysql> show replica status \G;

 

标签:部署,data,mysql8,--,xtrabackup,mysql,xtrabackup8,root,主从
From: https://www.cnblogs.com/hxlasky/p/17658886.html

相关文章

  • nginx部署vue项目报404问题
    解决刷新路由404问题这是因为我的vue项目是采用了history路由模式,又因为vue是单页面应用,一旦切换路由之后,之前的页面就会不存在,然后你再刷新回到之前的页面就会出现404了。(个人理解)解决的方法:将路由模式修改为hash模式(不建议,hash模式#太丑)修改nginx配置location/{tr......
  • DHCP部署与安全、DNS部署与安全
    DHCP部署与安全1、DHCP作用(DynamicHostConfigureProtocol)自动分配IP地址2、DHCP相关概念地址池/作用域:(IP,子网掩码,网关,DNS,租期),DHCP协议端口是UDP67,683、DHCP优点减少工作量,避免IP冲突,提高地址利用率4、DHCP原理也成为DHCP租约过程,分为4个步骤:1)发送DHCPDiscovery广播包客户......
  • 基于亚马逊云科技无服务器服务快速搭建电商平台——部署篇
    受疫情影响消费者习惯发生改变,刺激了全球电商行业的快速发展。除了依托第三方电商平台将产品销售给消费者之外,企业通过品牌官网或者自有电商平台销售商品也是近几年电商领域快速发展的商业模式。独立站电商模式可以进行多方面、全渠道的互联网市场拓展,推广所带来的流量、品牌印象......
  • wgcloud可以离线部署吗
    可以的其实WGCLOUD部署比较简单,WGCLOUD包含服务端和客户端服务端部署需要依赖的环境:JDK1.8或更高版本,MySQL(PostgresSQL、Oracle也可以)客户端需要依赖的环境:无所以我们只要准备好了JDK和数据库,然后下载WGCLOUD的安装包,就可以在离线状态下安装了......
  • K8S太庞大,这款PasteSpider绝对适合你!一款轻量级容器部署管理工具
    PasteSpider采用.netcore编写,运行于linux服务器的docker/podman里面,涉及的技术或者工具有podman/docker,registry,nginx,top,ssh,git,svn等。PasteSpider可以更好的为你执行服务的升级和维护工作。支持集群模式安装,也支持单例模式运行。PasteSpider可以部署.netJavaphpH5web......
  • LangChain-Chatchat学习资料-Windows开发部署(踩坑篇)
    LangChain-Chatchat学习资料-Windows开发部署(踩坑篇)环境准备的坑1.CUDA版本问题我是用的RTX3060显卡,通过nvidia-smi命令,查看显卡支持的CUDA版本为12.2,然后下载版本的CUDA,后续发现这里是个坑,pytorch目前最新版为2.0.1,支持的cuda版本最高为11.8,所以想使用显卡跑pytorch,需要讲CUDA......
  • 主从升级(mysql5.7.39-mysql8.0.25)
    环境:OS:Centos7当前数据库版本:5.7.39(主从目前启用了审计server_audit.so,master_auto_position=1)计划升级的数据库版本:8.0.28升级顺序:先升级从库########################从库机器上的操作######################1.从库机器上安装好新版本的mysql注意端口和socket不能与......
  • LangChain-Chatchat学习资料-Windows开发部署
    在windows10下的安装部署参考资料1.LacnChain-Chatchat项目基础环境准备本人使用的是Windows10专业版22H2版本,已经安装了Python3.10,CUDA11.8版本,miniconda3。硬件采用联想R9000P,AMDR75800H,16G内存,RTX30606G。安装依赖#使用conda安装激活环境condacreate-nLangchain......
  • Exceptionless系列:简介和部署(Windows、Linux、Docker)
    目录一、简介二、版本三、运行说明1、Exceptionless2、Elasticsearch3、Exceptionless.UI四、打包Exceptionless.UI五、window部署1.Elasticsearch2.Exceptionless六、Docker部署一、简介Exceptionless为您提供了跟踪错误、日志和事件的工具,同时指导您找到可行的解决方案。首先......
  • 使用 docker 打包构建部署 Vue 项目,一劳永逸解决node-sass安装问题
    文章源于Jenkins构建Vue项目失败,然后就把node_modules删了重新构建发现node-sass安装不上了,折腾一天终于可以稳定构建了。犹记得从学node的第一天,就被node-sass折磨了一整天,后面本地没问题了然后服务器开始折磨了,这次又遇到,尝试了一次又一次,还是用本地包构建最稳,觉......