mysql如何备份与恢复数据

  

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

mysql物理备份与逻辑备份

mysql物理备份:
mysql物理备份指拷贝整个数据库数据存放的目录文件(默认在/数据/db_data目录中)
特点:
,,,简单,速度快,但不适合内存存储引擎(数据不保存到硬盘上),主要针对MyISAM存储引擎,可通过scp, cp,焦油等文件备份工具实现,或者mysql自带的mysqlhotcopy
缺点:
,,,对应innodb的存储引擎需要mysql企业版的备份工具mysqlbackup
,,,
mysql逻辑备份:
通过获取数据库结构与内容来保存数据
优点:
,,,可以针对任何存储引擎,在线备份,mysql自带工具,mysqldump
缺点:
,,,速度慢(获取数据,并转换成指定的格式),体积大,

mysql线上备份与线下备份

mysql线上备份
,,,不需要关闭mysql云服务器,适当的锁表可以有效的保证备份的完整性
,,,
线下备份:
,,,需要关闭mysql云服务器,一般发生在从库中,以防止,主库的正常工作
,,,
远程备份与本地备份
,,,远程备份工具:mysqldump
,,,本地备份工具:mysqldump, mysqlhotcopy
,,,
完成备份与增量备份:
,,,完全备份:备份所有的数据库
,,,增量备份:一个时间点内数据库发生变量的备份(依靠mysql二进制日志)需要开启——log-bin(每次重启时都会产生一个新的二进制文件,
,,,mysql客服端:刷新日志(linux命令行mysqladmin flush-logs)命令可以手动产生一个新的)
,,,
,,
备份策越:
,,,
,,shell>,mysqldump -uroot - p——所有数据库比;backup_date.sql (会锁表)
如果数据库全是innodb引擎,可以加上单独的事务,来保证事务也能备份,如果需要新产生一个二进制日志如下:
, mysqldump -uroot - p——单独的事务——flush-logs——主数据=https://www.yisu.com/zixun/2,所有数据库> backup_date。sql
为了减小空间浪费可以删除无用的二进制日志文件通过如下:
, mysqldump -uroot - p——单独的事务——flush-logs——主数据=https://www.yisu.com/zixun/2——所有数据库delete-master-logs> backup_date。sql
当有主从的时候操作需要小心,可能从云服务器还没更新过来

恢复通过执行以下语句:
mysql -uroot - p & lt;backup_date。sql
或者二进制日志恢复
mysqlbinlog mysql-bin。000007 mysql-bin。000008 | mysql -uroot - p
mysqlbinlog还可以设置起止时间以及位置,具体请参考mysql手册或者人mysqlbinlog

, mysqldump使用说明
, mysqldump(参数)的在file_name
备份所有的数据库使用,所有数据库如
, mysqldump——所有数据库比;转储。sql
指定数据库
, mysqldump——db1数据库db2…在转储。sql(如果不加——数据库文件中将不会产生创建数据库与使用数据库语句)

mysql>如果不存在创建数据库db1;
mysql>使用db1;
mysql>源转储。sql

, mysqldump还有一种——选项卡的使用法,具体可参考手册

如果你的存储引擎是innodb可考虑一下参数
——events (事件)
——例程(存储过程与函数)
——触发器(触发器,默认包括)
也可以指定跳过通过如下参数
,——skipevents skip-routines,或者——skip-triggers
,
,, mysqldump还可以将表结构与数据分开备份如下:
,——没有数据不备份数据(只备份表结构)
,——no-create-info不备份表结构(只备份数据)
, shell>,mysqldump——没有数据测试比;dump-defs.sql
shell>,mysqldump——no-create-info测试比;dump-data.sql

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

  

mysql如何备份与恢复数据