1 mysqldump简介
mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。转储包含创建表和/或装载表的SQL语句。mysqldump可提供两种格式的文件输出,分别是sql格式的标准输出和文件分隔符形式的输出。也可直接在两个mysql数据库之间进行数据复制。
2 相关参数介绍
参考我前面的文章 http://blog.csdn.net/jesseyoung/article/details/410428253 实例分析
3.1 SQL格式备份还原不带--tab选项时,mysqldump输出sql格式的标准输出,包含CREATE及INSERT语句。
基本格式为:
mysqldump [arguments] > file_name
3.1.1 导出SQL格式备份文件
导出全部数据库及表
[root@localhost /]# mysqldump --all-databases > /tmp/dump.sql
导出部分数据库及表
[root@localhost /]# mysqldump --databases db1 db2 db3 > /tmp/dump.sql
导出单个数据库可以用如下两种格式
[root@localhost /]# mysqldump --databases test > /tmp/dump.sql
[root@localhost /]# mysqldump test > /tmp/dump.sql
区别是使用--databases在导出数据时会加上CREATE DATABASE 或 USE 语句,不使用--databases参数在导入数据时需要先指定一个存在的数据库作为默认数据库导入数据。
导出指定表
[root@localhost /]# mysqldump test t1 t3 t5 > /tmp/dump.sql
[root@localhost /]# mysqldump --tables test t1 t3 t5 > /tmp/dump.sql
3.1.2 导入SQL格式备份文件
如果导出文件时指定了--all-databases 或 --databases选项,备份文件会包含CREATE DATABASE 和 USE语句,我们直接导入即可,无需预先创建库和指定库。以下两种方式均可。
[root@localhost /]# mysql < /tmp/dump.sql (方法1:shell命令行操作)
mysql> source /tmp/dump.sql (方法2:进入mysql数据库操作)
如果导出文件时未指定了--all-