日期:2014-05-16  浏览次数:21013 次

mysqldump 数据导出工具使用

mysqldump客户端工具用来备份数据库或者在不同数据库之前进行数据迁移,有下面三种方式来调用:

mysqldump [options] db_name [tables] #备份单个数据库或者库中部分数据表
mysqldump [options] --database DB1 [DB2 DB3 ...] #备份指定一个或者多个数据库
mysqldump [options] --all-database #备份所有数据库

?

1、连接属性

-u , --user=username #数据库连接名
-p , --password=password #数据库连接密码
-h , --host=192.168.xxx.xxx #数据库服务器所在IP或者域名
-P , --port=xxx #连接端口,不指定为默认端口3306
?

2、输出内容选项

?

--add-drop-database #在导出的sql文件中,每个创建数据库语句前加上DROP DATABASE语句
--add-drop--table #在导出的sql文件中,在每个创建表的语句前加上DROP TABLE语句

??? 默认情况下,这两个参数都会自动加上。

?

-n , --no-create-db #不包含数据库的创建语句
-t , --no-create-info #不包含数据表的创建语句
-d , --no-data #只导出表结构,不包含数据

?

3、输出格式选项

????? --compact,输出结果简洁,不包含默认选项中的各种注释

?

????? -c , --complete-insert,使导出的sql文件中insert语句包含字段名,默认insert语句是不包含字段名的

?

????? -T,将指定表中的数据备份为单纯的数据文本和创建表的SQL文件两个文件。如下面语句把库test中表student导出到test目录下:

mysqldump -uhuisou -phuisou -h192.168.0.248 test student -T ./test

#注意-T放到数据库名称前面不行
mysqldump -uhuisou -phuisou -h192.168.0.248 -T test student ./test

?

4、字符集选项

????? --default-character-set=name,设置导出的客户端字符集

?

5、-F , --flush-logs,备份前刷新日志,备份前关闭旧日志,生成新日志,使得进行恢复的时候从新日志开始进行重做,大大方便了恢复过程。

?

6、-l , --lock-tables,给所有表加读锁

?

?

?

?

?

?