mysqldump 备份命令行简介

 

若要转储单个数据库,请将其命名为命令行:

shell> mysqldump --databases test > dump.sql

在单数据库情况下,允许省略--databases备选方案:

shell> mysqldump test > dump.sql

前面两个命令的不同之处在于--databases,转储输出不包含CREATE DATABASE或USE陈述

这有几个影响:

  1. 重新加载转储文件时,必须指定默认数据库名称,以便服务器知道要重新加载哪个数据库。
  2. 为了重新加载,您可以指定与原始名称不同的数据库名称,这使您能够将数据重新加载到不同的数据库中。
  3. 如果要重新加载的数据库不存在,则必须首先创建它。
  4. 因为输出将不包含CREATE DATABASE声明,--add-drop-database选项没有效果。如果你使用它,它不
  5. 会产生DROP DATABASE声明。

若要仅从数据库转储特定表,请将它们命名为数据库名称后面的命令行:

shell> mysqldump test t1 t3 t7 > dump.sql

如果要使转储文件在重新创建数据库之前强制删除每个数据
库,请使用--add-drop-database也有选择。在这种情况下,mysqldump写DROP DATABASE语句在每个
CREATE DATABASE声明。

 

几个选项控制着mysqldump处理存储程序(存储过程和函数、触发器和事件):

--events:转储事件计划程序事件
--routines:转储存储过程和函数
--triggers表的转储触发器


--triggers选项在默认情况下启用,以便在转储表时,它们会附带它们所拥有的任何触发器。

默认情况下,其他选项被禁用,必须显式指定以转储相应的对象。

若要显式禁用这些选项中的任何一个,请使用其跳过形式:--skip-events, --skip-routines,或--skip-triggers.

 

-no-data选项告诉mysqldump不转储表数据,导致转储文件只包含创建表的语句。

相反,--no-create-info选项告诉mysqldump不要CREATE语句,以便转储文件仅包含表数据。
例如,要将表定义和数据分别转储到test数据库,使用以下命令:

shell> mysqldump --no-data test > dump-defs.sql
shell> mysqldump --no-create-info test > dump-data.sql

对于仅定义的转储,添加--routines和--events还包括存储例程和事件定义的选项:
 

shell> mysqldump --no-data --routines --events test > dump-defs.sql

 

实验:
#配置文件修改
secure_file_priv = 

#备份命令,执行完之后每个表创建两个文件,一个时sql文件,存储了表的创建语句,另一个时txt的文本文件,保存了数据

mysqldump --tab=C:\Users\实验文件   mytest  -h 127.0.0.1 -uroot -p

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章