Linux下MySQL的备份和恢复
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,MySQL备份的原因 1. 灾难恢复 2. 审计 3. 测试1234512345mysql的备份类型 1. 根据服务器的在线状态: 热备:服务器处于运行状态 冷备:服务器出去停止状态
千家信息网最后更新 2025年11月06日Linux下MySQL的备份和恢复
MySQL备份的原因
1. 灾难恢复 2. 审计 3. 测试1234512345
mysql的备份类型
1. 根据服务器的在线状态: 热备:服务器处于运行状态 冷备:服务器出去停止状态 温备:服务器处于半离线状态,只能读,但是不能写 2. 根据备份的数据集: 完全备份:备份整个数据库 部分备份:备份某个表 3. 根据备份时的接口: 物理备份:直接将数据库文件从磁盘上复制出来 逻辑备份:把数据从数据库中提取出来备份成文本文件 4. 根据数据量进行备份: 完全备份:备份从创建数据库到目前为止的数据 增量备份:备份从上次进行完全备份结束到目前为止的数据 差异备份:1234567891011121314151612345678910111213141516
MySQL备份对象
数据+配置文件+代码(存储过程等)+os相关的配置文件(如crontab配置计划及脚本)11
使用mysqldump工具进行数据备份和恢复
1. mysqldump命令格式 a.备份多个或者一个数据库 mysqldump [option] --database db_name1 db_name2... b.备份某个数据库中的某张表 mysqldump [option] db_anme table1 tables2 ... c.备份全部数据库 mysqldump [option] --alldatabases 2. option -u user:指定以哪个用户的身份进行备份 -p password:指定用户的密码 -h host:指定备份的数据库 --local-all-tables:请求锁住所有备份的表 --local-tables:备份那张表锁住那张表 --single-transaction:能够对InnoDB存储引擎实现热备。(不常用) --events:备份事件调度器 --routines:备份存储过程和存储函数 --triggers:备份触发器 --flush-log:备份前,请求到锁之后滚动日志 3. 常用备份格式 mysqldump -uroot -p -h --database|db_name|--all-databases db_name|table --local-tables --flush-log 4. 恢复备份 a.关闭当前session的sql_log_bin b.mysqlmysqldump备份测试
备份数据库wordpress库中表的列表mysql> show tables;+-----------------------+| Tables_in_wordpress |+-----------------------+| wp_commentmeta || wp_comments || wp_links || wp_options || wp_postmeta || wp_posts || wp_term_relationships || wp_term_taxonomy || wp_termmeta || wp_terms || wp_usermeta || wp_users |+-----------------------+12 rows in set (0.00 sec)1234567891011121314151617181920212212345678910111213141516171819202122
备份整个数据库
还原刚才备份的数据库
使用xtrabackup工具进行备份
1. 下载安装xtrabackup [root@www ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm [root@www ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64//libev-4.03-3.el6.x86_64.rpm [root@www ~]# yum install libev-4.03-3.el6.x86_64.rpm [root@www ~]# yum install --skip-broken percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm 2. 备份后生成的文件 xtrabackup_checkpoints:记录备份类型,备份状态,lsn(日志序列号)等信息。 xtrabackup--binary:备份中用到的xtrabackup的可执行文件 xtrabackup_binlog_info:当前服务器正在使用的二进制日志文件及备份道这一刻的时间位置 xtrabackup_binlog_pos_innodb:二进制文件的但前position backup_my.cnf:备份命令用到的配置选项信息。123456789101112131412345678910111213141. 完全备份和恢复
格式:>innobackupex --user= --password= --apply-log /path/to/back_dir/结果:completes ok!1212测试完整备份数据库
测试恢复
格式: >innobackupex --user= --password= --copy-back /path/to/back_dir/1212创建新文件讲原有数据库全部移到目录下
恢复增量备份
格式: #innobackupex --incremental /path/to/back_dir --incremental-basedir=以那个备份文件伪基础还原:将增量备份整合道完全备份上去 先准备完全备份: #innobackupex --apply-log --redo-only 完全备份路仅(base-dir) 在准备第一次增量备份: #innobackupex --apply-log --redo-only base-dir --incremental-dir=one_base_dir 在准备第二次增量备份: #innobackupex --apply-log --redo-only base-dir --incremental-dir=two_base_dir .. .. 。恢复: >innobackupex --copy-back base-dir12345678910111213141234567891011121314a.第一次完整备份
操作数据库增加数据
第一次增量备份
准备完全备份
准备第一次增量备份文件
恢复
结果
xtrabackup进行表的导入和导出
在进行表的导出时,需要启用服务器的innodb_file_per_table这个选项。在进行表的导入时,需有启用服务器的innodb_file_per_table和innodb_expand_import选项导出表 innobackupex --apply-log --export /path/base_dir 此命令会为每个innodb表空间创建一个.exp结尾的文件,这个文件可以导入其他服务器导入表: 1,在服务器上创建一个与此结构相同的表。 2,然后删除此表的表空间: alter table 表 discard tablespace; 3,将.exp文件复制到数据库服务器的数据目录中,然后进行一下命令: alter table 表 import tablespace;
备份
数据
数据库
文件
服务器
服务
增量
格式
状态
准备
命令
日志
第一次
存储
测试
配置
二进制
信息
工具
常用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
心理学图书馆数据库
web前端和网络安全
计算机网络技术工作心得
pr软件开发者
浪潮打开账套数据库不能为空
长宁区游戏软件开发系统
上海市委党校网络安全制度
计算机网络技术理论考试
通信转软件开发难么
通用服务器和信创服务器的区别
上海农行软件开发中心
apex玩哪个服务器人多
为数据库增加文件组的语句
化工常用基础数据库
安徽web前端软件开发靠谱吗
数控车床的数据库
谢希仁网络技术训练
软件开发交接工作签名模版
列族数据库是关系型数据库吗
杭州做五合一软件开发的公司
工业园区进口服务器优质推荐
网络安全宣传手抄报模板
福建服务器公司有哪些服务器
思科网络安全大会
即时通讯数据库分表
长宁区游戏软件开发系统
数据库有效协议
网络安全保卫工作要点
网络安全培训班心得
软件开发类课程的学习经验