Mysql应用mysql学习之数据备份与恢复

Mysql应用mysql学习之数据备份与恢复,第1张

概述介绍《Mysql应用mysql学习数据备份与恢复》开发教程,希望对您有用。

《MysqL应用MysqL学习之数据备份与恢复》要点:
本文介绍了MysqL应用MysqL学习之数据备份与恢复,希望对您有用。如果有疑问,可以联系我们。

导读:该文使用MysqL5.5 centos6.5 64位(本人使用rpm安装MysqL,数据库的安装目录默认)一、数据备份注意事项读锁问题:数据库(或者某个表)... 该文使用MysqL5.5 centos6.5 64位(本人使用rpm安装MysqL,数据库的安装目录默认)一、数据备份注意事项

MysqL教程读锁问题:数据库(或者某个表)一旦进行读锁 *** 作则影响数据库的写 *** 作所以此时不能对数据库进行写 *** 作.之所以在数据备份的时候进行读锁 *** 作是为了保证备份数据的完整性一致性,在数据备份完成后会自动进行解锁.

MysqL教程更新日志问题:每次备份数据的时候新生成一个日志文件,这样数据库在备份一段时间后突然崩溃可以通过该bin-log日志还原该时间段的数据.数据恢复的步骤:恢复备份的数据+还原最新bin-log日志中的数据

二、使用MysqLdump进行书籍备份

MysqL教程MysqLdump:命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中.

MysqL教程MysqLdump命令的工作原理:它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句.然后,将表中的所有记录转换成一条INSERT语句.然后通过这些语句,就能够创建表并插入数据.

MysqL教程 

MysqL教程将test数据库备份到/tmp/MysqL_back/目录下

MysqL教程 [root@localhost tmp]# MysqLdump -uroot -p111111 test -l -F > '/tmp/MysqL_back/test.sql';

MysqL教程参数解读:

MysqL教程1、MysqLdump MysqL数据备份的命令

MysqL教程2、-uroot -p111111  用户名密码

MysqL教程3、test:要备份的数据库名

MysqL教程4、-l:进行读锁控制

MysqL教程5、-F:生成新日志文件

MysqL教程执行该语句后会发现在 /var/lib/MysqL 目录下会生成一个新的bin-log日志 MysqL-bin.000002

MysqL教程6、/tmp/MysqL_back/test.sql :生成备份文件的位置及名称

三、数据恢复

MysqL教程1、备份数据的恢复:

MysqL教程  [root@localhost tmp]# MysqL -uroot -p111111 test -v -f</tmp/MysqL_back/test.sql

MysqL教程  -v:查看导入的详细信息

MysqL教程  -f:导入过程中遇到错误时可以skip过,继续执行下面的语句.

MysqL教程2、bin-log日志中数据的还原:

MysqL教程  该日志在/var/lib/MysqL下MysqL-bin.000002日志中所有的记录

MysqL教程  [root@localhost MysqL]# MysqLbinlog --no-defaults MysqL-bin.000002 |MysqL -uroot -p111111 test;

MysqL教程3、还原bin-log日志中指定位置的数据

MysqL教程通过 position位置还原数据

 

BEGIN  /*!*/;  at 175  #170206 22:55:48 server ID 1  end_log_pos 263     @R_404_5962@    thread_ID=17    exec_time=0    error_code=0  use `test`/*!*/;  SET TIMESTAMP=1486392948/*!*/;  insert into t1 values(10)  /*!*/;  at 263  #170206 22:55:48 server ID 1  end_log_pos 290     XID = 178  COMMIT/*!*/;  at 290  #170206 22:55:54 server ID 1  end_log_pos 358     @R_404_5962@    thread_ID=17    exec_time=0    error_code=0  SET TIMESTAMP=1486392954/*!*/;  BEGIN  /*!*/;  at 358  #170206 22:55:54 server ID 1  end_log_pos 446     @R_404_5962@    thread_ID=17    exec_time=0    error_code=0  SET TIMESTAMP=1486392954/*!*/;  insert into t1 values(12)  /*!*/;  at 446  #170206 22:55:54 server ID 1  end_log_pos 473     XID = 179  COMMIT/*!*/;  at 473  #170206 22:56:42 server ID 1  end_log_pos 547     @R_404_5962@    thread_ID=17    exec_time=0    error_code=0  SET TIMESTAMP=1486393002/*!*/;  truncate t1 

MysqL教程还原该bin-log日志中position 位置在 172,473 中的数据(end_log_pos)

MysqL教程[root@localhost MysqL]# MysqLbinlog --no-defaults MysqL-bin.000002 --start-position="175" --stop-position="473"|MysqL -uroot -p111111 test;

MysqL教程4、还原bin-log日志中指定时间段的数据

MysqL教程格式:将3中即可

MysqL教程--start-position="175"  替换为 --start-date="2016-12-30 21:30:34"

MysqL教程--stop-position="473" 替换为 --stop-date="2016-12-30 23:30:34"

每天用心记录一点点.内容也许不重要,但习惯很重要! 总结

以上是内存溢出为你收集整理的Mysql应用mysql学习之数据备份与恢复全部内容,希望文章能够帮你解决Mysql应用mysql学习之数据备份与恢复所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存