Caution

todo…

1 查看默认配置文件位置

mysql --help|grep 'my.cnf'

2 备份

2.1 –compact测试导出结果

# --compact
mysqldump -uroot -p12345 --compact -B dbname

2.2 开发常用的命令

# 导出 需要的库与表的创建语句 ,所以我们一般不用-A
# 包含event 存储过程等
mysqldump -uroot -p123456 -B -d --triggers -R -E  db1 db2> db_struct.sql

# 导出需要初始化的表数据
# 含有 db的create 和use 语句的
mysqldump -uroot -p12345 -B --hex-blob -t mysql db1 db2> dbdata.sql
mysqldump -uroot -p12345 --hex-blob -t dbname table1 table2  > sometable.sql

# 先导入mysql
mysql -uroot -p123456 < db_struct.sql
mysql -uroot -p123456 < dbdata.sql
mysql -uroot -p123456 dbname < sometable.sql

2.3 生产环境命令

# -E --events
# -R --routines
# -F --flush-logs
mysqldump -uroot -p123456 -A --flush-privileges --single-transaction --master-data=1(或者2) -F --triggers -R -E --hex-blob |gzip >xx.sql.gz

2.4 备份单个与多个数据库

默认是导出表创建语句和数据的
# -B  会有create db 语句,和 use db 语句. 这样导入时不需要指定 数据库
mysqldump -uroot -p12345  -B dbname 
mysqldump -uroot -p12345  -B dbname  dbname2

2.5 备份单表和多个表

mysqldump -uroot -p12345 dbname school > school.sql
mysqldump -uroot -p12345 dbname city school > city_school.sql

2.6 只导出表结构

# 一个库 (包含库创建语句和所有表的创建语句)
mysqldump -uroot -p12345 -B -d dbname > dbname.sql

# 多个表的创建语句
mysqldump -uroot -p12345 -d dbname table1 table2 > dbname.sql

2.7 只导出数据

mysqldump -uroot -p12345 -t dbname > dbname.sql
mysqldump -uroot -p12345 -t dbname table1 table2 > dbname.sql
Back to top