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