MySQLdump常用命令总结
MySQLdump常用命令
mysqldump -u root -p --databases db1 db2 > xxx.sql
还原:系统命令行: MySQL -uroot -proot --single-transaction < all.sql
常见选项:
--all-databases, -A: 备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldump把每个名字都当作为数据库名。
--force, -f:即使发现sql错误,仍然继续备份
--host=host_name, -h host_name:备份主机名,默认为localhost
--no-data, -d:只导出表结构
--password[=password], -p[password]:密码
--port=port_num, -P port_num:制定TCP/IP连接时的端口号
--quick, -q:快速导出
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--user=user_name, -u user_name:用户名
--xml, -X:导出为xml文件
--add-drop-database:这个参数需要和--all-database或--databases一起使用,导出文件默认不会有create database。
--master-data:通过该参数产生的备份转存文件主要用来建立一个replication,value=1时记录CHANGE MASTER语句,当value=2时CHANGE MASTER写出SQL注释。
--events:备份事件调度器。
--routines:备份存储过程和函数。
--triggers:备份触发器。
--ignore-table=db_name.tbl_name:忽略要被备份的表,如果忽略多个则需要使用多次此选项,此选项还可以忽略VIEW。
--delete-master-logs:master备份后删除日志. 这个参数将自动激活--master-data。
--flush-logs,-F开始导出之前刷新日志。
备份案例
1.备份全部数据库的数据和结构
mysqldump -uroot -proot --single-transaction -A > all.sql
2.备份全部数据库的结构(加 -d 参数)
mysqldump -uroot -proot --single-transaction -A -d> all_struct.sql
3.备份全部数据库的数据(加 -t 参数)
mysqldump -uroot -proot --single-transaction -A -t> all_data.sql
4.备份单个数据库的数据和结构(,数据库名mydb)
mysqldump -uroot -proot --single-transaction mydb> mydb.sql
5.备份单个数据库的结构
mysqldump -uroot -proot --single-transaction mydb -d> mydb.sql
6.备份单个数据库的数据
mysqldump -uroot -proot --single-transaction mydb -t> mydb.sql
7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)
mysqldump -uroot -proot --single-transaction mydb t1 t2> multables.sql
8.一次备份多个数据库
mysqldump -uroot -proot --single-transaction --databases db1 db2> muldbs.sql
9.备份单个数据库不要create database语句
mysqldump --single-transaction --add-drop-database --database test>test_backup.sql
10.备份单个数据库生成CHANGE MASTER写出SQL注释
mysqldump --single-transaction --add-drop-database --master-data=2 --database test >test_backup.sql
11.备份test数据库排除a,a2表
mysqldump -uroot -p test --ignore-table=test.a --ignore-table=test.a2 >a.sql
12.备份全部数据库并压缩
mysqldump -uroot -proot --single-transaction -A|gzip -9>mul_db.gz
恢复案例
还原部分分(1)mysql命令行source方法 和 (2)系统命令行方法
1.还原全部数据库:
(1) mysql命令行:mysql>source all.sql
(2) 系统命令行: mysql -uroot -proot < all.sql
2.还原单个数据库(需指定数据库)
(1) mysql>use mydb
mysql>source mydb.sql
(2) mysql -uroot -proot mydb < mydb.sql
3.还原单个数据库的多个表(需指定数据库)
(1) mysql>use mydb
mysql>source multables.sql
(2) mysql -uroot -proot mydb< multables.sql
4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
(1) mysql命令行:mysql>source muldbs.sql
(2) 系统命令行: mysql -uroot -proot < muldbs.sql