如何备份MySQL数据库_Mysql

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

1. mysqlhotcopy

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

命令的使用方法是:

mysqlhotcopy -u root -p<rootpass> db1 db2 … dbn <output_dir>

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

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

2. mysqldump

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

命令的使用方法是:

mysqldump -u root -p<rootpass> –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。不论如何,直接拷贝文件的备份方法应该被废弃了。

时间: 2024-09-26 18:19:44

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

使用mydumper多线程备份MySQL数据库_Mysql

mysqldump:其特征之一是在处理过程中需要对列表加以锁定,因此如果我们需要在工作时段执行备份工作,那么会引起DML阻塞.但一般现在的MySQL都有主从,备份也大部分在从上进行,所以锁的问题可以不用考虑.这样,mydumper能更好的完成备份任务.Mydumper主要特性:是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具,开发人员主要来自MySQL,Facebook,SkySQL公司. 复制代码 代码如下: 1:轻量级C语言写的    2:执行速度比mysqldump快10倍

linux下改良版本mysqldump来备份MYSQL数据库_Mysql

因为MYSQLDUMP会为整个库来加一个全局锁定. 如果单纯用MYSQLDUMP进行全库备份会造成以下三个方面的影响. 1.服务器CPU严重阻塞. 2.磁盘I/O直线增加. 3.所有的查询都成了慢查询. 我现在的网站数据库大概是5个G左右,而且每天都有增大. 表结构是MYISAM,INNODB,MEMORY三者混合. 所以单纯用HOTCOPY工具恐怕有点困难.所以我今天简单变了一下我上次写的关于用OUTFILE来备份MYSQL的脚本. 可以解决上面说的三个缺点. 1.备份脚本内容 [david_

Linux自动备份MySQL数据库的实用方法

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据. ◆1.创建备份文件夹 #cd /www #makedir backup ◆2.编写运行脚本 #vi autobackup 写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump –opt dataname -u user -ppassword gzip > /www/mysqlbackup/name$filename.gz 保存退

如何备份Mysql数据库

mysql|备份|数据|数据库  如何备份Mysql数据库 技巧管理员(2000-12-24 10:13) [返回][转发] mysqldump -u[user] -p[password] [databasename] > [dump_name] 在将 dump_name 这个档案复制到另一台计算机上 另一台计算机上先进入mysql 建立一个 database 再执行下列指令 mysql -u[user] -p[password] [database_name] < [dump_name]

php备份mysql数据库源代码

php备份mysql数据库源代码,应用时,请把前面系号去掉. $host="localhost";          $user="root";       $password="";         $dbname="";       mysql_connect($host,$user,$password);          mysql_select_db($dbname);        $mysql= "se

Linux自动备份MySQL数据库

MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系 统定期备份数据. 1.创建备份文件夹 #cd /www #makedir backup 2.编写运行脚本 #vi autobackup 写入以下内容: filename=`date +%Y%m%d` mysql_bin_dir/mysqldump –opt dataname -u user -ppassword | gzip > /www/mysqlbackup/name$filename.gz 保存

Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1678653 设计该脚本的一些设计.编写考虑: 该脚本适用于编译安装mysql和通过yum或apt-get等安装方式 该脚本可以反复执行,不会重复覆盖数据 可增加,删除N天前的备份以节省磁盘空间 充分利用mysqldump的自带锁表功能.刷新日志.复制等功能 利用mysqldump命令备份MySQL数据库的脚本(不带

压缩备份Mysql数据库

Sql代码   [1].[代码] 压缩备份Mysql数据库 跳至 [1]   #!/bin/bash   shijie=`date +%Y%m%d`   backRenRenDb=renren_minishijie$shijie.sql   back4399Db=4399_minishijie$shijie.sql   backManyouDb=Manyou$shijie.sql   backRenRenFile=renren$shijie.tar.gz   back4399File=file4

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

原文:批处理命令 BAT备份MySQL数据库 工作环境 Windows Server 2003 ,MySQL安装目录 D:\MySQL , WinRAR 安装目录 C:\Program Files\WinRAR\WinRAR.exe 备份数据存储的路径为 E:\数据备份,好了下面开始写DOS批处理命令了.代码如下: set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" md "E:\数据备份\%ymd%" "D:\MySQL