MySQL——备份与恢复
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | MySQL数据库备份和恢复 --备份类型: 1、热备份(只有InnoDB支持)(不影响业务,最好的方式) 2、冷备份( 阻止用户访问) 3、温备份 --备份方式: 1、逻辑备份(文本表示:SQL语句) 2、物理备份(数据文件的二进制副本) 3、基于快照的备份 4、基于复制的备份 5、增量备份(刷新二进制日志) --备份工具: 1、 mysqldump: mysql原生自带的很好用的逻辑备份工具 2、 mysqlbinlog: 实现binlog备份的原生态命令,逻辑备份 3、 xtrabackup: 物理备份工具 ----------------------------------------------------------------------------------------------------------------------------------- MySQL数据库备份详解: 1、mysqldump mysqldump -uroot -p123456 --all-databases > /backup/full .sql (备份全库) ---->恢复(前提是数据库为启动状态): source /backup/full .sql; 或 用“<” mysqldump -uroot -p123456 -B oldboy > /backup/full .sql (备份单库) 备份多个表: mysqldump 库1 表1 表2 表3 >库1.sql mysqldump参数: -A, --all-databases: 全库备份 *** -B:带有建库(create)及(use)库的语句,可以直接接多个库,例如同时备份多个库为: ... -B 库1 库2 *** -R, --routines: 备份存储过程和函数数据 *** --triggers: 备份触发器数据 *** -F, --flush-logs: 刷新binlog日志(备份时滚动binlog日志) *** --master-data=1 /2 : 告诉你备份后时刻的binlog位置 *** 2: 注释----> 会在备份的额SQL文件中头部,记录备份时用到哪个binlog文件了,并且记录position号到哪里 1: 非注释,要执行(主从复制) -d: 仅表结构(不常用) -t: 仅数据(不常用) --compact: 减少无用数据数据输出(调试)(不常用) 锁表备份(innodb /myisam )(备份结束之前不能对表进行操作): *** -x, --lock-all-tables ---->锁定所有备份的表 -l, --lock-tables ---->锁定单表 --master-data可以自动进行锁表和释放锁,如果用了--master-data就不需要加-x和-l --single-transaction: 对innodb引擎进行热备 *** 2、xtrabackup (1)安装xtrabackup (2)全备备份: 备份命令: xtrabackup innobackupex(重要)(支持InnoDB和MyISAM) innobackupex --user=root --password=123456 /backup/full (全库备份) 恢复: 恢复前的准备(应用日志): innobackupex --apply-log /backup/full 恢复: innobackupex --copy-back /backup/full (4)增量备份: 原理: 基于上一次的备份做增量 基于上一次备份后的变化的数据页,还要备份在备份过程中的redo、undo变化 增量备份: innobackupex --user=root --password=123456 --incremental --no-timestamp(如果不加则会以时间命名) --incremental-basedir= /backup/full /backup/xinc1 恢复: 1、应用全备日志: innobackupex --apply-log --redo-only /backup/full 2、合并增量到全备: innobackupex --apply-log --incremental- dir = /backup/xinc1 /backup/full 3、恢复: 3、备份实战:39期视频课程第09,第04 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现