千家信息网

mysql如何备份与恢复数据

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,下文我给大家简单讲讲关于mysql如何备份与恢复数据,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql如何备份与恢复数据对大家多少有点帮助吧。mysql物理备份与
千家信息网最后更新 2026年11月02日mysql如何备份与恢复数据

下文我给大家简单讲讲关于mysql如何备份与恢复数据,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql如何备份与恢复数据对大家多少有点帮助吧。

mysql物理备份与逻辑备份

mysql物理备份:
mysql物理备份指拷贝整个数据库数据存放的目录文件(默认在/data/db_data目录中)
特点:
简单,速度快,但不适合memory存储引擎(数据不保存到硬盘上),主要针对MyISAM存储引擎,可通过scp,cp,tar等文件备份工具实现,或者mysql自带的 mysqlhotcopy
缺点:
对应innodb的存储引擎需要mysql企业版的备份工具mysqlbackup

mysql逻辑备份:
通过获取数据库结构与内容来保存数据
优点:
可以针对任何存储引擎,在线备份,mysql自带工具mysqldump
缺点:
速度慢(获取数据,并转换成指定的格式),体积大,

mysql线上备份与线下备份

mysql线上备份
不需要关闭mysql云服务器,适当的锁表可以有效的保证备份的完整性

线下备份:
需要关闭mysql云服务器,一般发生在从库中,以防止,主库的正常工作

远程备份与本地备份
远程备份工具:mysqldump
本地备份工具:mysqldump,mysqlhotcopy

完成备份与增量备份:
完全备份:备份所有的数据库
增量备份: 一个时间点内数据库发生变量的备份(依靠mysql binary log) 需要开启--log-bin( 每次重启时都会产生一个新的二进制文件,
mysql客服端:flush logs(linux命令行 mysqladmin flush-logs)命令可以手动产生一个新的 )


备份策越:

shell> mysqldump -uroot -p --all-databases > backup_date.sql (会锁表)
如果数据库全是innodb引擎,可以加上--single-transaction,来保证事务也能备份,如果需要新产生一个binary log如下:
mysqldump -uroot -p --single-transaction --flush-logs --master-data=2 --all-databases > backup_date.sql
为了减小空间浪费可以删除无用的binary log文件 通过如下:
mysqldump -uroot -p --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs > backup_date.sql
当有主从的时候操作需要小心,可能从云服务器还没更新过来

恢复通过执行以下语句:
mysql -uroot -p < backup_date.sql
或者binary log恢复
mysqlbinlog mysql-bin.000007 mysql-bin.000008 | mysql -uroot -p
mysqlbinlog 还可以设置起止时间以及位置,具体请参考Mysql手册 或者 man mysqlbinlog

mysqldump使用说明
mysqldump [arguments] > file_name
备份所有的数据库使用 --all-databases如
mysqldump --all-databases > dump.sql
指定数据库
mysqldump --databases db1 db2 ...>dump.sql (如果不加--databases 文件中将不会产生 create databases 与use database 语句)

mysql> CREATE DATABASE IF NOT EXISTS db1;
mysql> USE db1;
mysql> source dump.sql

mysqldump 还有一种--tab的使用法,具体可参考手册

如果你的存储引擎是innodb可考虑一下参数
--events (事件)
--routines (存储过程与函数)
--triggers (触发器,默认包括)
也可以指定跳过通过如下参数
--skipevents, --skip-routines, or --skip-triggers

mysqldump还可以将表结构与数据分开备份如下:
--no-data 不备份数据(只备份表结构)
--no-create-info 不备份表结构(只备份数据)
shell> mysqldump --no-data test > dump-defs.sql
shell> mysqldump --no-create-info test > dump-data.sql

大家觉得mysql如何备份与恢复数据这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。

备份 数据 数据库 引擎 存储 工具 文件 备份工具 结构 服务器 物理 服务 内容 参数 命令 增量 手册 时间 目录 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡 互联网络科技 江苏根荣互联网科技 互联网电商科技 狮子座互联网科技 未来的互联网科技 火传媒上海互联网科技 互联网高科技股票 广西拼得多互联网科技有限公司 北京大学互联网科技怎么样 来此购互联网科技有限公司 互联网和黑科技的看法 宝灵互联网科技有限公司 湖南一路畅行互联网科技 互联网科技扶贫时间 高科技互联网发展前景如何 黑科技 体验场景 互联网大会 陕西九四连强互联网科技有限公司 优雇互联网科技有限公司 山东亿川互联网科技有限责任公司 互联网科技公司需要的职位 徐州市互联网科技有限公司 群盈汇互联网科技有限公司 中国互联网有什么科技 宁波跨境商互联网科技有限公司 上海同邻互联网科技有限公司规模 全球科技与互联网公司市值变化 互联网的科技体现在哪里 山东蛋芒互联网科技有限公司 互联网科技创业计划的风险分析
0