mysqldump 语法

1
mysqldump [选项] 数据库名 [表名] > 脚本.sql

选项

参数名 缩写 含义
--host -h 服务器IP地址
--port -P (大写) 服务器端口号
--password -p (小写) MySQL密码
--databases 指定要备份的数据库
--all-databases 备份MySQL服务器上的所有数据库
--compact 压缩模式,产生更少的输出
--comments 添加注释信息
--complete-insert 输出完成的插入语句
--lock-tables 备份前,锁定所有数据库表
--no-create-db/–no-create-info 禁止生成创建数据库语句
--force 当出现错误时仍然继续备份操作
--default-character-set 指定默认字符集
--add-locks 备份数据库表时锁定数据库表

示例

如果 -p 选项没有指定密码,那么控制台会等待输入密码

备份所有数据库

1
mysqldump -uroot -p --all-databases > all.sql

备份指定数据库

1
mysqldump -uroot -p test > test.sql

备份指定数据库指定表(多个表以空格间隔)

1
mysqldump -uroot -p test table1 table2 > test.sql 

备份指定数据库排除某些表

1
mysqldump -uroot -p test --ignore-table=test.table1 --ignore-table=test.table2 > test.sql

恢复命令

命令行命令

1
2
3
注:在导入备份数据库前,db_name如果没有,是需要创建的; 而且与db_name.sql中数据库名是一样的才可以导入。
mysqladmin -uroot -p create db_name
mysql -uroot -p db_name < /backup/mysqldump/db_name.sql

soure 方法

1
2
mysql > use db_name
mysql > source /backup/db_name.sql