MySQLDUMP备份

数据库备份

 场景: 有时MySQL 数据库需 导出指定表的数据 

1、备份一个或多个表

mysqldump [options] db_name [table_name……]

2、备份一个或多个库

 mysqldump [options] –databases dbname……

3、备份所有数据库

mysqldump [options] –all-databases

示例:

1.导出指定表的数据

 mysqldump -t database -u username -ppassword --tables table_name1 table_name2 table_name3 >D:\db_script.sql

2.导出指定表的结构

mysqldump -d database -u username -ppassword --tables table_name1 table_name2 table_name3>D:\db_script.sql

3.导出表的数据及结构

mysqldump  database -u username -ppassword --tables table_name1 table_name2 table_name3>D:\db_script.sql

4.若 数据中 ,某些表除外,其余表都需导出

mysqldump -h IP -u username -ppassword --default-character-set=utf8 --database database_name --ignore-table=database_name.table_name1

--ignore-table=database_name.table_name2 --ignore-table=database_name.table_name3 >D:\db_script.sql

5.加速导入
mysqldump是单线程导入导出,往往导出很快,导入却很慢。
在导出时添加参数
–max_allowed_packet=67108864 --net_buffer_length=16384
可以在一定程度上加快导入速度
注:这两个参数设置不能大于导入端的参数设置值。

/usr/local/mysql8016/bin/mysqldump --defaults-extra-file=.my.cnf --single-transaction --master-data=2 --triggers --routines --events --set-gtid-purged=off --max_allowed_packet=67108864 --net_buffer_length=16384  --skip-extended-insert --databases db_name> db_name.sql

.my.cnf为server端连接文件,配置如下:

[client]
host=192.168.xx.xx
port=3306
user=bak_user
password=bak_pwd

你可能感兴趣的:(MySQL)