mysqldump使用用例

来源:互联网 发布:淘宝拍卖房产能买吗 编辑:程序博客网 时间:2024/06/06 11:01

一、常用选项

--quick

该选项用于转储大的表。它强制mysqldump从服务器一次一行地检索表中的行而不是检索所有行并在输出前将它缓存到内存中。


--no-data

只导出表的结构


--master-data[=value]

该选项将二进制日志的位置和文件名写入到输出中。该选项要求有RELOAD权限,并且必须启用二进制日志。如果该选项值等于1,位置和文件名被写入CHANGE MASTER语句形式的转储输出,如果你使用该SQL转储主服务器以设置从服务器,从服务器从主服务器二进制日志的正确位置开始。如果选项值等于2CHANGE MASTER语句被写成SQL注释。如果value被省略,这是默认动作。


--database

导出几个数据库。通常情况,mysqldump将命令行中的第1个名字参量看作数据库名,后面的名看作表名。使用该选项,它将所有名字参量看作数据库名。

--all-databases

导出所有数据库

--tables

指定表名

--var_name=value
    max_allowed_packet  客户端/服务器之间通信的缓存区的最大大小
    net_buffer_length       客户端/服务器之间通信的缓存区的初始大小

--set-charset  

将SET NAMES default_character_set加到输出中

 

二、使用用例

(1)导出单个数据库

mysqldump -u<user> -p<pwd> -h<host> dbname > data.sql

(2)导出单个数据库的结构

mysqldump -u<user> -p<pwd> -h<host> dbname --no-data > data.sql

(3)导出所有数据库

mysqldump -u<user> -p<pwd> -h<host> --all-databases > data.sql

(4)导出多个数据库

mysqldump -u<user> -p<pwd> -h<host> --database db1 [db2 db3 ...] > data.sql

(5)导出数据库中的某些表

mysqldump -u<user> -p<pwd> -h<host> dbname --tables table1 [table2 table3 ...] > data.sql

(6)在my.cnf中设置

[mysqldump]
quick
max_allowed_packet = value

net_buffer_length= value

可以增加导出的速度

(7)导出master数据,并将二进制文件位置和文件名写入CHANGE MASTER语句形式的转储输出

mysqldump -u<user> -p<pwd> -h<host> dbname --master-data=1 > data.sql

(8)增加导入时的字符集设置

mysqldump -u<user> -p<pwd> -h<host> dbname --set-charset=utf8 > data.sql

原创粉丝点击