mysql如何备份与恢复数据
admin
2023-06-11 01:42:25
0次

下文我给大家简单讲讲关于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如何备份与恢复数据这篇文章怎么样,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。 

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...