Mysql基本知识点-mysqldump

149 阅读2分钟

The mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the original database object definitions and table data. It dumps one or more MySQL databases for backup or transfer to another SQL server. ——MySQL 5.7 Reference Manual mysqldump

快速上手使用

#备份远程机器上面全部的数据库
mysqldump -h ${ip} -uroot -p --all-databases > ./backup.sql
#备份单个数据库的全部数据
mysqldump db_name > backup-file.sql
#备份部分数据库的数据
mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
#使用mysqlClient连接mysql服务,导入数据
source ./backup.sql
#热备份
mysqldump --all-databases --master-data --single-transaction > all_databases.sql
#热备份单张表
mysqldump --single-transaction -u root -p databaseName tableName > db.sql
mysql>drop tab1;
mysql>drop tab2;
mysql -u user -p db < db.sql

mysqldump的性能与可扩展性

使用mysqldump备份数据的一大优势是生成的备份脚本可以直接编辑,完成编辑后再导入,但是它在备份速度上非常慢,而且导入数据也很慢。如果是涉及到大量数据的备份可以直接使用物理备份,也可以尝试使用企业版mysqlbackup命令来进行备份。

mysqldump命令可以将整张表的数据加载到内存中,再将内存中的数据dump到文件中。也可以一行一行的读取内容,并且将数据写入到文件中。默认一行一行读取,如果需要在内存中缓存数据请携带参数--skip-quick

选项语法

官方选项列表
所谓的选项和my.cnf配置文件类似,很多参数可以在mysqldump后面添加,也可以直接加到配置文件中的[mysqldump] group或者[client] group里面。

Option Groups

在选项中有两个特殊的选项,--opt--compact
--opt表示打开多个选项,默认是打开。如果你想要关闭这些选项需要调用--skip-opt来实现。 --compact则表示需要关闭多个选项,使用--skip--compact来取消关闭。