mysqldump使用用例

本文介绍MySQL备份工具mysqldump的常见选项及使用案例,包括快速导出大型表、仅导出表结构、导出指定数据库及表等内容,并提供如何在my.cnf中配置以提高备份效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、常用选项

--quick

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


--no-data

只导出表的结构


--master-data[=value]

该选项将二进制日志的位置和文件名写入到输出中。该选项要求有RELOAD权限,并且必须启用二进制日志。如果该选项值等于1,位置和文件名被写入CHANGE MASTER语句形式的转储输出,如果你使用该SQL转储主服务器以设置从服务器,从服务器从主服务器二进制日志的正确位置开始。如果选项值等于2,CHANGE 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值