在MySQL中进行数据备份的方法有两种:

  1. mysqlhotcopy

  这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法。

  命令的使用方法是:

  mysqlhotcopy -u root -pdb1 db2 … dbn

  如果需要备份全部数据库,可以加上–regexp=”.*”参数。

  Mysqlhotcopy命令可自动完成数据锁定工作,备份时不用关闭服务器。它还可以刷新日志,使备份文件和日志文件的检查点能保持同步。

  2. mysqldump

  这个命令是用来把数据库倒成sql文件的,是非常古老的命令了。

  命令的使用方法是:

  mysqldump -u root -p–hex-blob db1 db1.sql

  加上–hex-blob参数以后,blob数据会被类似BASE64的方法转换为文本来存储在sql文件中,就不会导致sql文件格式问题了。经过测试,通过这种方法备份的blob数据再重新恢复回去能够完全正确。

  如果要备份所有的数据库,可以加上–all-databases参数。

  用mysqldump命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。

  % mysqladmin -h remote_host create testdb

  % mysqldump –opt testdb | mysql -h remote_host testdb

  另外还可通过ssh远程调用服务器上的程序,如:

  % ssh remote_host mysqladmin create testdb

  % mysqldump –opt testdb | ssh remote_host mysql testdb

  2种数据库备份方式的优缺点:

  使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行操作,但是需人为协调数据库数据的备份前后一致性。

  mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。

  对于没有使用InnoDB的数据库,用mysqlhotcopy是最好的方法;否则必须采用mysqldump。不论如何,直接拷贝文件的备份方法应该被废弃了。

如何备份MySQL数据库的更多相关文章

  1. 批处理命令 BAT备份MySQL数据库

    批处理命令 BAT备份MySQL数据库 作者: 字体:[增加 减小] 类型:转载 时间:2009-07-23我要评论 MySQL数据的备份工具也许有很多,在这我要给大家分享一下通过DOS批处理命令和M ...

  2. 利用xtrabackup备份mysql数据库

    利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...

  3. 备份MySQL数据库

    备份MySQL数据库脚本: #!/bin/bash # description: MySQL buckup shell script # author: lmj # web site: http:// ...

  4. 配合crond服务实现自定义周期备份MySQL数据库(使用innobackupex进行备份)

    备份 新建一个脚本/root/backup.py,内容如下: #!/usr/bin/env python# -*- coding: utf-8 -*- ''' 脚本作者:昨夜星辰 脚本作用:配合cro ...

  5. 一个自动备份mysql数据库的bat文件内容

    自动备份mysql数据库,并已当前的日期时间为目录 copy过去, xcopy将近15年没有用dos命令,还是这么亲切 另 本方法是备份数据库文件,不是dump导出,然后再计划任务中使用,我用的是wa ...

  6. Linux 每天自动备份mysql数据库的方法

    Linux 每天自动备份mysql数据库的方法 作者: 字体:[增加 减小] 类型:转载   linux下为了安全有时候需要自动备份mysql数据库,下面是具体的实现步骤.   /usr/bin为my ...

  7. linux下使用crontab定时备份MYSQL数据库的方法:

    摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...

  8. Linux自动备份MySQL数据库脚本代码

    下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行 在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩.需要注意的是, ...

  9. 一个备份MySQL数据库的简单Shell脚本(转)

    Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行.我们也可以逐一敲入命令手动执行.如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反 ...

  10. [转]一个备份MySQL数据库的简单Shell脚本

    本文翻译自 iSystemAdmin 的 <A Simple Shell Script to Backup MySQL Database> Shell脚本是我们写不同类型命令的一种脚本,这 ...

随机推荐

  1. Capture HTML Canvas as gif/jpg/png/pdf?

    https://stackoverflow.com/questions/923885/capture-html-canvas-as-gif-jpg-png-pdf https://stackoverf ...

  2. appJar 界面效果

    appJar from appJar import gui app = gui() def main(): app.setLocation(200, 200) app.addLabel('2333', ...

  3. elasticsearch配置文件详解

    来自:http://www.searchtech.pro/articles/2013/02/18/1361194291548.html elasticsearch的config文件夹里面有两个配置文 ...

  4. 让bat批处理后台运行,不显示cmd窗口(完全静化)

    背景:由于我有某云的服务器(win server), 上面挂有好几个程序, 为了更好的监控他们, 我使用了一个最笨的方法, 就是下面的方法. 实现:我要监控的程序有三个, 成为ABC吧, 下面先把三个 ...

  5. zynq基础-->linux下软件应用

    操作系统:Ubuntu 16.04 LTS 应用软件:Vivado 2016.2  + petalinux 2016.2 参考官方应用手册:ug1144-petalinux-tools-referen ...

  6. iOS Xcode Error 集锦

    一),'libxml/tree.h' file not found Solution: 1.  导入libxml2.dylib 包 2.设置Header Search Paths 为 /usr/inc ...

  7. git将本地内容传送到远程仓库出现![rejected] master -> master (fetch first)错误

    问题:使用git push -u 远程库名 master 命令将本地提交的内容传到git远程库时出现错误: 命令: git push -u origin master 出现错误: To https:/ ...

  8. python --- 17. 面向对象成员

    面向对象的成员 能写的所有成员 一.变量 1.实例变量 访问时      对象.变量 2.类变量 访问时     类名.变量 注意: 二.方法 1.实例方法 必须有一个参数(self) 调用时    ...

  9. Vue学习【第二篇】:ES6简单介绍

    ECMAScript 6简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript ...

  10. tp剩余未验证内容-5

    经过实践, ie678是不能正确显示解析bs的,所以要用ff和chrome浏览器. page-header类是有特殊样式的 在标题下有一条浅色的细线条,源代码中有: border-bottom: 1p ...