Products
GG网络技术分享 2025-11-24 22:27 3
啊哈, 你们kan,今天我们要说的就是怎么护着我们数据库里的宝贝数据,就像护着细小孩子的玩具一样关键呢!
哎呀, 数据库备份就像我们的宝贝日记本,每天dou要记下来万一日记本丢了我们可就伤心了。数据库备份也是一样的,就是每天记录下数据库里的全部信息,这样Ru果数据丢了我们就Neng从备份里找回来。

优良啦,我们眼下来学几种常用的方法备份我们的MySQL数据库吧。
mysqldump就像一个魔法师, 他Neng把数据库里的信息dou变成一个巨大的文本文件,就像我们的日记本一样。用方法是这样的:
mysqldump -uroot -p123456 -A -t /data/mysqlDump/mydb.sql
这玩意儿命令的意思是说 我要备份全部的数据库,然后保存到/data/mysqlDump/mydb.sql这玩意儿文件里。
MEB就像一个超级英雄, 他Neng让我们在不关系到数据库正常运行的情况下把数据库的信息平安地备份起来。用方法是这样的:
mysqlbackup incremental-backup-dir=backup_incr trace= incremental=page-track incremental-base=history:last_full_backup backup
这玩意儿命令的意思是说 我要Zuo一个增量备份,只备份那些个被修改过的页面。
备份的时候也要注意一些事情哦,不然我们的宝贝数据兴许会不见呢!
备份的时候, 我们要给数据库加一把锁,这样别人就不Neng乱动数据了。Ru果没有加锁,备份的数据兴许就不完整了。
备份的目录权限也要设置优良, 一般是700,这样别人就不Neng随便进去kan我们的宝贝数据了。
备份文件要有一个优良的命名规则,这样我们才Nenghen迅速地找到它。比如我们Neng按照日期和时候来命名备份文件。
备份可是有hen许多优良处的呢!
Ru果我们的数据库不细小心丢了 我们Neng从备份里找回来就像从丢掉的日记本里找到丢失的日记一样。
备份Neng护着我们的数据平安, 就像我们给宝贝日记本上锁一样,别让别人偷kan。
哎呀, 今天我们学了hen许多关于数据库备份的知识,希望巨大家dou学会了怎么护着我们的宝贝数据。记住备份就像护着我们的日记本一样关键哦!
注意:innodb_redo_log_archive_dirs 不Neng在数据目录下 目录权限要求是700
请点击输入图片说说
MySQL .17支持了redo log archiving 彻底解决了此问题,备份前设置innodb_redo_log_archive_dirs,指定redo log归档目录。MEB备份时自动开启日志归档, 当checkpoint时会将老记录归档到此目录,后续从归档文件中读取redo日志记录,避免了覆写兴许弄得的redo记录丢失。
若有非InnoDB表, 上全局锁
特性1:Backup Lock
mysqldump -uroot -p123456 -A -t /data/mysqlDump/mydb.sql
用CMD 进入 mysql 控制台, 用mysqldump命令进行备份
.0之前用xtrabackup或MEBZuo物理备份,为了保证备份时InnoDB引擎表与其他引擎数据文件、及binlog日志的一致性会上全局读锁,再拷贝非InnoDB文件,这期间MySQL会变成只读,数据无法写入。表数量越许多, 兴许加上时候越长远,Ru果用的xtrabackup 不细小心没加rsync参数,逐个拷贝frm文件,锁定时候会geng长远,对业务关系到较巨大。
个个企业级数据库dou会有配套的备份工具, MEB就是MySQL企业版中非常关键的工具之一,是为企业级客户给的数据备份方案。
MySQL 企业版还有哪些功Neng?
.1备份全部数据库的数据和结构
只有InnoDB表, 仅上备份锁
备份单个数据库的结构
incremental-base有3种选择
#MySQLdump常用
full-scan:扫描全部InnoDB数据文件,找出并拷贝自上次备份之后修改的页面效率Zui磨蹭
MEBNengZuo到在线烫备,备份时不关系到数据库读写,这是利用了InnoDB事务日志,在备份期间持续监视redo log的变来变去,读取增量变来变去,写入到ibbackup_logfile,也就不需要上锁来保障备份一致性。
optimistic:扫描上次备份之后被修改的InnoDB 数据文件中,找出并拷贝修改的页面。依赖系统时候,用存在管束。
备份优良几个表的数据和结构
全备之后Zuo增量备份时指定若满足page tracking条件,默认会用page-track模式,否则会用full-scan模式,也Neng指定incremental=page-track。
mysqldump -u root -p &databases 数据库1 数据库2 xxx.sql
备份单个数据库的数据
上例中, 还原数据备份时数据库中的数据回到了备份时刻的状态,而二进制日志中记录了从备份到故障前一段时候内全部用户对数据库的写操作的语句,只要把这些个语句按照时候顺序沉新鲜运行一遍,所还原的数据就会变成为故障前那一刻的状态,不会造成数据丢失。所以呢通常把保存在二进制日志中的语句沉新鲜施行的过程叫Zuo恢复。
page-track:利用LSN准准的跟踪上次备份之后被修改页面 仅复制这些个页面效率Zui迅速。
MEB .1对此Zuo了优化, 将redo log处理线程拆分成许多线程分工一起干,搞优良处理redo log的效率,少许些了redo log覆写造成备份输了的概率,但redo log新鲜增速度和ibbackup_logfile写入速度悬殊太巨大,问题依然会发生。
数据库备份通俗地说是将数据库的某一时刻的数据复制了一份;数据库还原是将备份出的数据替换掉原来数据库中的数据文件, 将备份放回到原来数据库文件的目录位置;二进制日志记录数据库的变geng过程,比方说创建数据库、建表、修改表等DDL操作、以及数据表的相关DML操作,这些个操作会弄得数据库产生变来变去,开启binlog以后弄得数据库产生变来变去的操作会按照时候顺序以“事件”的形式记录到binlog二进制文件中。
dir:基于前一次的备份目录, 前一次备份兴许是增备,也兴许是全备。
我曾遇到过部署在虚拟机的实例有12000许多张表, 当时用的xtrabackup,备份脚本中没加rsync参数,后来啊锁了十几分钟,而MEB就没有这样的问题。
在MySQL中给了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们Neng通过命令行直接实现数据库内容的导出dump,先说说我们轻巧松了解一下mysqldump命令用法:
参考上图, 在凌晨2:,管理员将Yi开启二进制日志的数据库的数据Zuo了一个完整的备份,因为时候的推移,仍然有用户对数据库进行相关的写操作,弄得了二进制日志文件写满后自动切换;在上午9:37时由于结实盘出现故障,数据库用户不Neng正常访问存放在结实盘中的数据库数据,此时Ru果数据库备份和二进制日志没有损恶劣,管理员是Neng通过还原备份和恢复二进制日志的方式挽回数据亏本的。
mysqldump常用操作实例
MySQL .0支持轻巧量级备份锁 LOCK INSTANCE FOR BACKUP,数据字典也沉构了由InnoDB存储。若不创建非InnoDB表, MEB默认用备份锁获取binlog日志一致性位置,并阻止DDL操作,但不关系到DML操作。
特性3:Page Tracking
page-track 模式 磁盘读写均衡,说明读写的dou是修改页面。
数据备份是数据容灾的再说说一道防线, 即便有着两地三中心的架构,备份也依然关键。Ru果备份出问题,备份时关系到了交容易业务,备份数据无法恢复,这些个也是企业困难以承受的。所以选择合适的备份工具尤为关键。
利用page-track增量备份,需先安装备份组件
备份全部数据库的数据
数据库Zui直接的备份方法就是用自带的mysqldump命令进行备份。
Page Tracking 是为优化增量备份效率,少许些不少许不了的数据页扫描。
mysqlbackup incremental-backup-dir=backup_incr trace= incremental=page-track incremental-base=history:last_full_backup backup
last_full_backup:基于前一次全备Zuo增备。这种方式增备会越往后体积兴许越巨大,但恢复时只需要合并再说说一次增量备份。
测试对比full-scan 和page-track , 在变geng页细小于总体50%的情况下 ,备份效率至少许Neng有1倍的速度提升。
在 MySQL .0的Backup Lock、 Redo Log Archiving、Page Tracking等新鲜特性的加持下MEB备份/恢复体验会geng优良,目前xtrabackup还不支持这些个特性。
增量备份当前有3种扫描模式:
Ru果备份期间数据库写入负载特别巨大, 而写入ibbackup_logfile速度较磨蹭,redo log size也不巨大,hen兴许会出现ibbackup_logfile的写入速度跟不上redo log记录生成速度,redo log 地方不够时需要覆写日志文件,那么来不及写入ibbackup_logfile的记录会丢失,弄得备份输了。
挽回数据亏本的过程包括:.geng换新鲜结实盘;.还原备份;.沉Zuo备份到故障时段的二进制日志中的语句等;正常情况不会造成数据的丢失,亏本的仅仅是一段时候的停机时候。
Xtrabackup一直作为MEB 开源版备胎而存在从MySQL .0开头情况兴许会变得有所不同。
mysql INSTALL COMPONENT &;;
特性2:Redo Log Archiving
SELECT mysqlbackup_page_track_set;
last_backup:基于前一次备份Zuo增备, 前一次备份兴许是增备,也兴许是全备。这种方式全备之间兴许会有优良几个增备,每次增量兴许比比kan细小,但恢复时需要逐个合并。
在全备前开启page-track
备份方法2种: Ru果你的开发周围是php的, 下一个phpmyadmin 的mysql web 后台管理中心可进行备份等诸许多操作
一次备份优良几个数据库
备份表结构, 表数据;
full-scan模式 磁盘读写差别hen巨大,说明读了hen许多未修改的页面。
对于MySQL数据库, 备份与恢复相关的术语包括:备份、还原、恢复、二进制日志,其中备份按照其特性Neng分为:物理备份和逻辑备份;凉备、温备和烫备;彻头彻尾备份和不彻头彻尾备份等;常用的备份工具包括:操作系统拷贝、mysqldump等;还原包括物理备份的还原和逻辑备份的还原;下面分别加以介绍和说明。
Demand feedback