当前位置:首页 » 编程软件 » xtrabackup脚本

xtrabackup脚本

发布时间: 2025-01-06 16:57:53

A. Xtrabackup 能不能做单库的备份恢复

大数据量备份与还原,始终是个难点。当MYsql超10G,用mysqlmp来导出就比较慢了。在这里推荐xtrabackup,这个工具比mysqlmp要快很多。 一、Xtrabackup介绍 1、Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup有两个主要的工具:xtrabackup、innobackupex 1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 2、 innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的 同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢 复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。 2、Xtrabackup可以做什么 : 在线(热)备份整个库的InnoDB、 XtraDB表 在xtrabackup的上一次整库备份基础上做增量备份(innodb only) 以流的形式产生备份,可以直接保存到远程机器上(本机硬盘空间不足时很有用) MySQL数据库本身提供的工具并不支持真正的增量备份,二进制日志恢复是point-in-time(时间点)的恢复而不是增量备份。 Xtrabackup工具支持对InnoDB存储引擎的增量备份,工作原理如下: (1)首先完成一个完全备份,并记录下此时检查点的LSN(Log Sequence Number)。 (2)在进程增量备份时,比较表空间中每个页的LSN是否大于上次备份时的LSN,如果是,则备份该页,同时记录当前检查点的LSN。 首 先,在logfile中找到并记录最后一个checkpoint(“last checkpoint LSN”),然后开始从LSN的位置开始拷贝InnoDB的logfile到xtrabackup_logfile;接着,开始拷贝全部的数据文 件.ibd;在拷贝全部数据文件结束之后,才停止拷贝logfile。 因为logfile里面记录全部的数据修改情况,所以,即时在备份过程中数据文件被修改过了,恢复时仍然能够通过解析xtrabackup_logfile保持数据的一致。 因为innobackupex支持innodb,myisam,所以本文说一下,怎么使用innobackupex。 二,安装xtrabackup 1、下载地址 /downloads/XtraBackup/ 2、安装 根据需求,选择不同的版本,我选择的是rpm安装包,如果报以下错误 复制代码 代码如下: [root@localhost xtrabackup]# rpm -ivh percona-xtrabackup-2.2.4-5004.el6.x86_64.rpm warning: percona-xtrabackup-2.2.4-5004.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY error: Failed dependencies: perl(Time::HiRes) is needed by percona-xtrabackup-2.2.4-5004.el6.x86_64 解决办法: 复制代码 代码如下: [root@localhost xtrabackup]# yum -y install perl perl-devel lio lio-devel perl-Time-HiRes perl-DBD-MySQL //安装依赖包 [root@localhost xtrabackup]# rpm -ivh percona-xtrabackup-2.2.4-5004.el6.x86_64.rpm //重新安装 warning: percona-xtrabackup-2.2.4-5004.el6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY Preparing... ########################################### [100%] 1:percona-xtrabackup ########################################### [100%]

B. 如何将阿里云的mysql(RDS)数据备份到本地

本例以本地服务器为 RHEL6/x64 系统,备份文件存储路径为/home/mysql/为例。

  • 下载云数据库物理备份文件并上传至目标服务器。备份文件获取方法请参见下载备份数据。如果目标服务器可以访问源实例,您也可以使用wget "url"下载备份文件。其中url为备份文件下载地址。

  • 切换路径到备份文件所在路径。


  • cd /home/mysql/

  • 解压备份文件。


    其中,filename.tar.gz为备份文件名。

  • tar vizxf filename.tar.gz

  • 检查解压后文件包含的数据库是否正确。


    系统显示如下,其中db0dz1rv11f44yg2、mysql和test为云数据库中存在的数据库。


  • -rw-r--r-- 1 root root 269 Aug 19 18:15 backup-my.cnf

  • drwxr-xr-x 2 root root 4096 Aug 21 10:31 db0dz1rv11f44yg2

  • -rw-rw---- 1 root root 209715200 Aug 7 10:44 ibdata1

  • drwxr-xr-x 2 root root 4096 Aug 21 10:31 mysql

  • drwxr-xr-x 2 root root 4096 Aug 21 10:31 test

  • -rw-r--r-- 1 root root 10 Aug 19 18:15 xtrabackup_binary

  • -rw-r--r-- 1 root root 23 Aug 19 18:15 xtrabackup_binlog_info

  • -rw-r--r-- 1 root root 77 Aug 19 18:15 xtrabackup_checkpoints

  • -rw-r--r-- 1 root root 2560 Aug 19 18:15 xtrabackup_logfile

  • -rw-r--r-- 1 root root 72 Aug 19 18:15 xtrabackup_slave_info

  • cd filename/

  • ll

  • 恢复数据文件。


    系统显示innobackupex: completed OK!,则数据恢复成功。

  • innobackupex --defaults-file=./backup-my.cnf --apply-log ./

  • 修改配置文件。将解压文件backup-my.cnf中的innodb_fast_checksum、innodb_page_size、innodb_log_block_size注释掉,并且添加datadir=/home/mysql,如下所示。


  • # This MySQL options file was generated by innobackupex-1.5.1.

  • # The MySQL Server

  • [mysqld]

  • innodb_data_file_path=ibdata1:200M:autoextend

  • innodb_log_files_in_group=2

  • innodb_log_file_size=524288000

  • #innodb_fast_checksum=0

  • #innodb_page_size=16364

  • #innodb_log_block_size=512

  • datadir=/home/mysql/

  • 重装 MySQL 系统库,取得数据库的 root 权限。


    系统显示如下,则 mysql 系统库重装成功。


  • Installing MySQL system table...

  • OK

  • Filling help table...

  • OK

  • rm -rf mysql

  • mysql_install_db --user=mysql --datadir=/home/mysql/

  • 修改文件属主。


  • chown -R mysql:mysql /home/mysql/

  • 启动 mysqld 进程。


  • mysqld_safe --defaults-file=/home/mysql/backup-my.cnf &

  • 使用客户端登录数据库。


  • mysql –u root –p

  • 验证数据库是否完整。


    系统显示入选,则数据库恢复成功。


  • +--------------------+

  • | Database |

  • +--------------------+

  • | information_schema |

  • | db0dz1rv11f44yg2 |

  • | mysql |

  • | performance_schema |

  • | test |

  • +--------------------+

  • show databases;

C. MySQL数据库一主一备的数据备份策略mysql一主一备

MySQL数据库一主一备的数据备份策略
在实际应用中,数据库的备份非常重要。当数据库出现故障或者人为误操作导致数据丢失的时候,备份文件可以恢复数据。MySQL数据库备份有很多的策略,其中一主一备的数据备份策略是最为安全可靠的,本文将介绍如何实现一主一备的MySQL数据库备份。
一、环境搭建和准备
在开始备份操作之前,需要先搭建一主一备的数据库环境,并且保证主备服务器之间能够相互通信。常用的数据库备份方式有物理备份和逻辑备份。物理备份是直接备份数据文件,包括表空间和日志文件等,适合数据量较大的情况。逻辑备份是备份SQL语句,适合少量数据备份。本文以物理备份为例。
二、主服务器备份配置
1. 安装xtrabackup
xtrabackup是Percona提供的用于备份MySQL数据库的工具,支持InnoDB引擎。安装xtrabackup的方法如下:
# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# percona-release setup ps80
# yum install -y percona-xtrabackup-80
2. 创建备份脚本
在主服务器上创建备份脚本backup.sh,脚本内容如下:
#!/bin/bash
mysql_user=”root”
mysql_password=”password”
mysql_socket=”/var/lib/mysql/mysql.sock”
backup_dir=”/data/backup”
backup_date=`date +%Y-%m-%d-%H%M`
xtrabackup –backup –user=$mysql_user –password=$mysql_password
–socket=$mysql_socket –target-dir=$backup_dir/$backup_date
3. 设置定时任务
在主服务器上设置定时任务,每天凌晨3点备份一次数据库:
# crontab -e
0 3 * * * /bin/bash /root/backup.sh
三、备份服务器还原配置
1. 安装xtrabackup
同样需要在备份服务器上安装xtrabackup:
# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# percona-release setup ps80
# yum install -y percona-xtrabackup-80
2. 创建还原脚本
在备份服务器上创建还原脚本restore.sh,脚本内容如下:
#!/bin/bash
backup_date=$1
mysql_user=”root”
mysql_password=”password”
mysql_socket=”/var/lib/mysql/mysql.sock”
backup_dir=”/data/backup”
rm -rf /var/lib/mysql/*
xtrabackup –-back –user=$mysql_user –password=$mysql_password
–socket=$mysql_socket –target-dir=$backup_dir/$backup_date
3. 还原数据库
在备份服务器上执行还原脚本,指定需要还原的备份日期:
# chmod +x /root/restore.sh
# /bin/bash /root/restore.sh 2022-11-11-1312
四、总结
通过一主一备的MySQL数据库备份策略,可以确保数据库的数据安全性。备份服务器作为主服务器的备份,保证了主服务器数据的可靠性,而定时备份和自动化还原脚本则保证了备份的操作性。在实际使用过程中还需根据实际情况进行定期测试和优化,以保证数据备份的稳定可靠。

D. mysql到底如何备份

数据备份是数据容灾的最后一道防线,即便有着两地三中心的架构,备份也依然重要。如果备份出问题,备份时影响了交易业务,备份数据无法恢复,这些也是企业难以承受的。所以选择合适的备份工具尤为重要。


每个企业级数据库都会有配套的备份工具,MEB(MySQL Enterprise Backup)就是MySQL企业版中非常重要的工具之一,是为企业级客户提供的数据备份方案。


Xtrabackup一直作为MEB 开源版备胎而存在,从MySQL 8.0开始情况可能会变得有所不同。


在 MySQL 8.0的Backup Lock、Redo Log Archiving、Page Tracking等新特性的加持下,MEB备份/恢复体验会更好,目前xtrabackup还不支持这些特性。


MySQL 企业版还有哪些功能?

热点内容
安卓手机图如何缩小操作 发布:2025-01-08 03:13:02 浏览:646
安卓跟苹果哪个电池省电 发布:2025-01-08 03:07:03 浏览:52
java互联网面试题 发布:2025-01-08 02:56:33 浏览:573
iisphp上传大小 发布:2025-01-08 02:27:31 浏览:37
java输入怎么写 发布:2025-01-08 02:15:35 浏览:798
我的电脑如何变成服务器 发布:2025-01-08 02:14:04 浏览:217
神灯服务器地址 发布:2025-01-08 02:12:29 浏览:336
并行算法 发布:2025-01-08 02:11:17 浏览:768
阿信上传 发布:2025-01-08 02:06:26 浏览:52
平板怎么登安卓手机的吃鸡账号 发布:2025-01-08 01:54:29 浏览:284