通常我们在使用mysql数据库的时候,经常会因为操作失误而丢失数据。MySQL数据库备份可以帮助我们避免各种原因造成的数据丢失或其他数据库问题。
一、数据备份快捷方式
因为这个方法没有得到官方文件的验证,所以暂且称之为实验。
目的:在hostA主机中备份一个MySQL数据库来备份TestA,并将其恢复到hostB。
测试环境:
操作系统:winnt4.0,MySQL 3.22.34,phpmyadmin 2.1.0
在hostA中安装MySQL数据库备份并建立TestA数据库
HostB安装MySQL数据库备份,但是没有TestA数据库。
方法步骤:
启动phpMyAdmin查看HostA和HostB中的数据库列表,但是HostB中没有TestA数据库。
在HostA中找到MySQL数据库备份的安装目录,找到数据库目录数据。
在我的实验环境中,这个目录是C:\mysql\data
找到数据库名称对应的子目录C:\mysql\data\TestA。
粘贴到HostB的数据目录中,HostA和HostB MySQL数据库的备份数据目录中的文件是一样的。
刷新HostB的phpMyAdmin,查看数据库列表。我们可以看到TestA已经出现,查询、修改等所有操作正常,备份恢复成功。
结论:MySQL数据库可以以文件的形式保存、备份和恢复,只要恢复相应的文件目录,不需要使用其他工具进行备份。
二。正式方法(官方建议):
要导出使用MySQL数据库备份的mysqldump工具,基本用法是:
如果不给出任何表,将导出整个数据库。
通过执行mysqldump - help,您可以获得您的mysqldump版本所支持的选项列表。
请注意,如果运行mysqldump时没有使用- quick或- opt选项,mysqldump会在导出结果之前将整个结果集加载到内存中,如果要导出大型数据库,这可能会成为一个问题。
Mysqldump支持以下选项:
在导出每个表之前添加锁定表,然后解锁表。(为了更快的插入MySQL数据库备份)。
在每个create语句之前添加一个drop表。
允许创建作为关键字的列名。这是通过在列名前面添加表名来实现的。
使用完整的insert语句(带列名)。
如果客户端和服务器都支持压缩,则压缩它们之间的所有信息。
使用“插入延迟”命令插入行。
使用新的多行插入语法。(给出一个更简洁、更快速的插入语句)
跟踪程序的使用情况(用于调试)。
显示帮助消息并退出。
这些选项与-T选项一起使用,与相应的LOAD DATA INFILE子句具有相同的含义。
加载文件语法。
在开始导出之前,清除MySQL数据库备份服务器中的日志文件。
即使我们在导出表的过程中得到一个SQ