千家信息网

mysql如何备份与恢复数据

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,下文我给大家简单讲讲关于mysql如何备份与恢复数据,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql如何备份与恢复数据对大家多少有点帮助吧。mysql物理备份与
千家信息网最后更新 2024年09月22日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安全错误 数据库的锁怎样保障安全 webdav 服务器安卓下载 分析数据库怎么添加 金融信创关系型数据库 软件开发前端需要数学 电大考试数据库应用技术 mac服务器搭建服务器 软件开发项目外包协议 医学信息数据库的基本结构 莫斯科服务器到中国 农业生产领域网络安全 铂曼网络技术有限公司 行程卡为什么老是显示服务器异常 服务器安全狗 彻底删除 数据库技术与应用考试题 ERP软件开发费 如何入账 oracle数据库指令总结 宿城区工业网络技术批发价 海南君军互联网科技有限公司 衰变凯帕铀火箭数据库 关系数据库有哪几个 彻底删除dbf中的数据库 网络安全的视频宣传片 遂溪定制软件开发 花亦山心之月为什么服务器不一样 计算机网络技术有这个专业 南京东秦网络技术服务有限公司 厦门亿联网络技术有限公司 河北商城软件开发要多少钱 三级网络技术未来教育题库 网络技术人员颁奖词
0