mysqldump 数据库备份
mysqldump客户端可用来转储数据库或搜集数据库进行备份,转储包含创建表和/或装载表的SQL语句。
适用于InnoDB引擎的数据库。
有3种方式来调用mysqldump:
1、mysqldump [options] db_name [tables]
2、mysqldump [options] ---database DB1 [DB2DB3...]
3、mysqldump [options] --all--database
如果没有指定任何表或使用了---database或--all--database选项,则转储整个数据库。
要想获得你的版本的mysqldump支持的选项,执行mysqldump ---help。
如果运行mysqldump没有--quick或--opt选项,mysqldump在转储结果前将整个结果集装入内存。如果转储大数据库可能会出现问题。该选项默认启用,但可以用--skip-opt禁用。
如果使用最新版本的mysqldump程序生成一个转储重装到很旧版本的MySQL服务器中,不应使用--opt或-e选项。
mysqldump支持下面的选项:
--add-drop--database 在每个CREATE DATABASE语句前添加DROP DATABASE语句
--add-drop-tables 在每个CREATE TABLE语句前添加DROP TABLE语句
--complete-insert,-c 使用包括列名的完整的INSERT语句
--where='where-condition', -w 'where-condition' 只转储给定的WHERE条件选择的记录。请注意如果条件包含命令解释符专用空格或字符,一定要将条件引用起来
--tables 覆盖---database或-B选项。选项后面的所有参量被看作表名
--no-create-info,-t 不写重新创建每个转储表的CREATE TABLE语句
选项说明:
参数名 | 缩写 | 含义 |
--host | -h | 服务器IP地址 |
--port | -P | 服务器端口号 |
--user | -u | MySQL 用户名 |
--pasword | -p | MySQL 密码 |
--databases | 指定要备份的数据库 | |
--all-databases | 备份mysql服务器上的所有数据库 | |
--compact | 压缩模式,产生更少的输出 | |
--comments | 添加注释信息 | |
--complete-insert | 输出完成的插入语句 | |
--lock-tables | 备份前,锁定所有数据库表 | |
--no-create-db/--no-create-info | 禁止生成创建数据库语句 | |
--force | 当出现错误时仍然继续备份操作 | |
--default-character-set | 指定默认字符集 | |
--add-locks | 备份数据库表时锁定数据库表 |
示例:
备份所有数据库:
mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
备份指定数据库:
mysqldump -uroot -p test > /backup/mysqldump/test.db
备份指定数据库指定表(多个表以空格间隔)
mysqldump -uroot -p mysql db event > /backup/mysqldump/2table.db
备份指定数据库排除某些表
mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db
参考:https://www.mysqlzh.com/doc/79.html
附 MySQL中文文档:https://www.mysqlzh.com