应该怎么样备份mysql
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本文主要给大家介绍应该怎么样备份mysql,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下应该怎么样备份mysql吧。备份的目的: 实现灾
千家信息网最后更新 2024年11月11日应该怎么样备份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安全错误
数据库的锁怎样保障安全
网络技术抄袭国外
使用镜像服务器安全吗
服务器主机做视频渲染好不好
网络技术聘用协议书
mysql数据库备份方案
web服务器内容安全技术
江苏5g服务器机柜哪家好
无线网络技术导论期末
广州数字引力网络技术有限公司
即时通讯软件开发的服务哪家好
网络安全项目验收流程
兼职用什么app软件开发
软件开发短中长期计划
sql数据库收缩工具
爱讲网络技术的stp的定位
手机邮件提示服务器密码错误
网络安全法制在我国境内使用
银翼计划软件开发
网络技术应用统计
学校网络安全防范知识发言稿
香肠派对赛季服务器
江苏海航软件开发创新服务
导入数据做成数据库
网络安全发展的五大特征
odbc 创建数据库窗体
ict数据通信与网络技术
抚顺软件开发公司排名
服务器断电后连不上数据库
为什么显示无服务器
ps4暗黑2怎么连不上服务器了