应该怎么样备份mysql
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本文主要给大家介绍应该怎么样备份mysql,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下应该怎么样备份mysql吧。备份的目的: 实现灾
千家信息网最后更新 2025年01月24日应该怎么样备份mysql
本文主要给大家介绍应该怎么样备份mysql,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下应该怎么样备份mysql吧。
备份的目的: 实现灾难恢复:误操作、硬件故障、软件故障、自然灾害、****** 注意的要点: 1、能够容忍丢失多少数据 2、恢复数据所用的时间 3、备份需要的时间 4、是否对业务有影响 5、备份时云服务器负载 备份类型 完全备份:备份整个数据库的数据 部分备份:备份指定的一部分数据 增量备份:备份上一次备份后增加的数据 差异备份:备份从最后一次完全备份后起发生改变的数据 热备份:读写操作均可以进行 温备份:只读 冷备份:不可写,不可读 逻辑备份:从数据库中导出数据,与存储引擎无关 物理备份:直接复制数据文件 备份需要: 数据 二进制日志,事务日志 配置文件 备份的设计方案: 数据:完全+增量、完全+部分 备份手段:逻辑或物理常用的备份工具: mysqldump:mysql自带的备份工具,逻辑备份、完全备份、部分备份、温备 lvm2快照:几乎热备,需要借助cp,tar等工具完成,lvm2只负责生成快照 xtrabackup:支持对InnoDB的热备份(物理备份 tar,cp:冷备份 mysqldump工具使用:逻辑备份工具,在数据小于1G时可以使用,数据大于1G之后则不建议使用 mysqldump [OPTIONS] database [tables] #不会自动创建数据库 mysqldump [OPTIONS] --databases DB1 [DB2 ...] #备份指定数据库,会自动创建数据库 mysqldump [OPTIONS] --all-databases #备份所有数据库,会自动创建数据库 常用选项: -u #用户 -p #密码 --flush-logs #执行二进制日志文件滚动 --single-transaction #对InnoDB存储引擎进行热备份(只有InnoDB支持) --master-data=2 #在数据文件中,记录备份那一刻二进制日志文件的位置, 并注释主要用于参考,多用于进行基于时间点还原 --lock-all-tables #在执行备份时锁定所有库的所有表(二选一,必须) --lock-tables #对单个数据库在备份时锁定所有表(二选一,必须) 例:mysqldump -uroot -p123.com --databases --lock-tables --flush-logs --master-data=2 test > /tmp/mysql.back.`date "+%F__%R"` LVM2快照实现数据几乎热备 实现条件:mysql数据存储在LVM逻辑卷中,需要有足够的空间做快照 备份策略: 1、创建全局锁 mysql> FLUSH TABLES WITH READ LOCK; 2、记录二进制日志文件及事件位置 mysql -uroot -p123.com -e 'FLUSH LOGS;' #进行日志滚动 mysql -uroot -p123.com -e 'SHOW MASTER STATUS;'>/tmp/test.`date +%F` #记录二进制日志位置 3、创建LVM快照 lvcreate -L 1GB -s -n test_snap /dev/vg_test/lv_test -L 1G #快照大小,一般和数据文件差不多 -s #表示创建快照 -n test_snap #快照名 /dev/vg_test/lv_test #要创建快照的逻辑卷 4、释放全局锁 mysql> UNLOCK TABLES; 5、挂载快照卷 mount /dev/vg_test/test_snap /mnt 6、备份数据并删除快照卷 cp -a /mnt/date/mysql /tmp #复制数据文件 umount /mnt #卸载快照卷 lvremove /dev/vg_test/test_snap #删除快照 7、制定好备份计划,每隔一段时间对二进制文件进行备份 每隔一段时间对mysql的二进制文件进行备份,以实现将来的基于时间点还原数据 例:cp -p /data/mysql-bin.000007 /tmp/mysql_7.sql #备份二进制日志 8、还原 还原时只需要将数据文件复制到mysql的数据目录中,在使用二进制日志对数据进行时间点还原 例:cp -a /tmp/mysql /data/mysql #还原数据 mysql> source /tmp/mysql_7.sql; #进行基于时间点的还原 xtrabackup实现mysql热备: 注意:xtrabackup只能对InnoDB实现热备和增量备份 https://www.percona.com/downloads/XtraBackup/LATEST/ #下载地址 安装: 1、配置好epel源 2、yum -y localinstall percona-xtrabackup-2.3.2-1.el6.x86_64.rpm #安装 备份工具: xtrabackup包含两个主要的工具,即xtrabackup和innobackupex innobackupex:是xtrabackup重封装的Perl脚本,能对innodb和myisam备份, 对myisam不能实现热备和增量备份 xtrabackup:xtrabackup只能备份innodb和xtradb两种引擎的表, 而不能备份myisam引擎的表 innobackupex基本使用 常用参数: --help #查看帮助信息 --backup #进行备份操作,可省,默认为执行备份操作 --apply-log #恢复前必须的整理工作 --defaults-file #指定配置文件路径,可省,会自动到数据库中读取 --redo-only #在做整理操作时,未提交的数据不进行回滚,做增量备份恢复时必须加的选项 --copy-back #执行还原操作 --incremental #执行增量备份 --user=name #指定用户名,默认为root --host=name #指定主机名,默认为host --port= #指定端口,默认为3306 --password=name #指定密码,默认为空 --databases='db1 bd2' #备份指定的数据库, --defaults-file= #指定配置文件,可省 --no-timestamp= #自定义备份目录名 incremental-basedir= #基于那一次备份做增量备份 使用实例: innodb_file_per_table=1 #在mysql配置文件中添加,表示每个表使用单独的表空间文件 datadir=/usr/local/mysql/data #在mysql配置文件中添加,表示指定数据文件位置 mkdir /backups #创建备份文件存放目录 全库完全备份: innobackupex --user=root --password=123.com /backups/ /backups/ #备份文件存放目录 注意:结尾出现completed OK!则为成功,否则则为错误 还原一个完全备份: innobackupex --apply-log /backups/2017-02-20_04-40-44/ #对备份文件进行整理 innobackupex --copy-back /backups/2017-02-20_04-40-44/ #还原数据 chown mysql:mysql /usr/local/mysql/* #修改权限 增量备份: innobackupex --user=root --password=123.com --incremental /backups/ --incremental-basedir=/backups/2017-02-20_04-40-44/ /backups/ #增量备份存储位置 --incremental-basedir #指定基于哪一个备份文件进行增量备份,通常都是上一个增量备份 增量备份还原: innobackupex --apply-log --redo-only /backups/2017-02-20_05-01-49/ #整理完全备份 innobackupex --apply-log --redo-only /backups/2017-02-20_05-01-49 --incremental-dir=/backups/2017-02-20_05-04-34 #整理第一个增量备份 innobackupex --copy-back /backups/2017-02-20_05-01-49/ #还原数据 部分备份: innobackupex --databases="testdb mysql" /backups/ --user=root --password=123.com #备份testdb和mysql数据库,不管备份那个数据库都应该备份mysql数据库 还原部分备份: innobackupex --apply-log /backups/2017-02-20_05-24-07/ #准备 innobackupex --copy-back /backups/2017-02-20_05-24-07/ #还原 chown mysql:mysql /usr/local/mysql/* #修改权限
看完以上关于应该怎么样备份mysql,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。
备份
数据
文件
增量
快照
数据库
二进制
日志
工具
时间
逻辑
配置
位置
部分
备份工具
引擎
目录
存储
常用
物理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏先进网络技术设置
网络安全 华三怎么样
信息化是网络安全的目标
数据库备份报错1049
软件开发创业平台
企业数据库维护技术
医保软件开发一般存在的问题
dos操作系统下的数据库语言
第五人格不同服务器能玩吗
软件开发私人网站
苏州防爆刀片服务器
华为协议软件开发
.net有数据库游标吗
宏 读入数据库
汉口卓尔软件开发
数值数据和分类数据库
服务器系统哪个版本是免费的
计算机三级网络技术学啥
hp服务器默认管理口密码
数据库文件不能复制
医保软件开发一般存在的问题
网络技术的大专学校
在云服务器打不了中文
数据库不可重复
地下城手游服务器可以换吗
网络安全手抄报高中作品
公司代码管理服务器
源码 带数据库
羽化网络技术有限公司
未转变者与服务器相同Id