如何备份MySQL数据库

从今天起,做一个简单的人,踏实务实。不沉溺幻想。不庸人自扰。要快乐,要开朗,要坚韧,要温暖,对人要真诚。要诚恳,要坦然,要慷慨,要宽容,要有平常心。

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

1.mysqlhotcopy

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

命令的使用方法是:

mysqlhotcopy-uroot-p<rootpass>db1db2…dbn<output_dir>

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

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

2.mysqldump

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

命令的使用方法是:

mysqldump-uroot-p<rootpass>–hex-blobdb1>db1.sql

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

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

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

%mysqladmin-hremote_hostcreatetestdb

%mysqldump–opttestdb|mysql-hremote_hosttestdb

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

%sshremote_hostmysqladmincreatetestdb

%mysqldump–opttestdb|sshremote_hostmysqltestdb

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

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

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

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

到此这篇关于如何备份MySQL数据库就介绍到这了。现实再冷酷,心不能冷酷。更多相关如何备份MySQL数据库内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
centos7安装MySQL教程

MySQL常用SQL查询语句(含复杂SQL查询)

MySQL细数发生索引失效的情况

mysqlenum字段类型的谨慎如何使用

Mysql体系化探讨令人头疼的JOIN运算