第16章 数据备份与还原
16.1 数据备份
16.1.1 使用mysqldump命令备份
mysqldump命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
工作原理:
先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。
然后,将表中的所有记录转换成一条INSERT语句。
这些CREATE语句和INSERT语句都是还原时使用的。
还原数据时就可以使用其中的CREATE语句来创建表。
使用其中的INSERT语句来还原数据。
1. 备份一个数据库
2. 备份多个数据库
3. 备份所有数据库
16.1.2 直接复制整个数据库目录
使用这种方法时,最好将服务器先停止。
16.1.3 使用mysqlhotcopy工具快速备份
如果备份时不能停止MySQL服务器,可以采用mysqlhotcopy工具。
详见书上。
16.2 数据还原
管理员的非法操作和计算机的故障都会破坏数据库文件。当数据库遭到这些意外时,可以通过备份文件将数据库还原到备份时的状态。
16.2.1 使用mysql命令还原
16.2.2 直接复制到数据库目录
16.3 数据库迁移
16.3.1 相同版本的MySQL数据库之间的迁移
16.3.2 不同版本的MySQL数据库之间的迁移
16.3.3 不同数据库之间迁移
16.4 表的导出和导入
16.4.1 用SELECT…INTO OUTFILE导出文本文件
16.4.2 用mysqldump命令导出文本文件
16.4.3 用mysql命令导出文本文件
语法:
mysql -u root -p Password -e "SELECT语句" dbname > C:name.txt;
说明:
Password表示root用户的密码;
使用-e选项就可以执行SQL语句;
“SELECT语句”用来查询记录;
C:name.txt表示导出文件的路径。
16.4.4 用LOAD DATA INFILE方式导入文本文件
语法:
LOAD DATA [LOCAL] INFILE file INTO TABLE table [OPTION];
16.4.5 用mysqlimport命令导入文本文件
语法:
mysqlimport -u root -p Password [--LOCAL] dbname file [OPTION]
16.7 常见问题及解答
- 如何选择备份数据库的方法?
- 如何升级MySQL数据库?
参考文献:
1.《MySQL入门很简单》。