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

posted @ 2020-12-25 16:53  杨岂  阅读(197)  评论(0编辑  收藏  举报