Mysql数据备份与还原及表数据的导入导出

Mysql数据备份与还原

数据备份

mysqldump命令备份

备份单个数据库

mysqldump -u root -p DBname table1 table2 ... >BackupName.sql

DBname参数表示数据库名;table参数表示需备份的表名,若无此参数将备份整个数据库;BackupName.sql参数表示备份的文件名,文件名钱可加上路径。

备份多个数据库

mysqldump -u root -p --databases DBname1 DBname2 ... >BackupName.sql

备份所有数据库

mysqldump -u root -p --all-databases >all.sql

数据还原

命令还原

mysql -u root -p [DBname] < backname.sql

DBname参数表示数据库名称,指定数据库名,表示还原到指定数据库中;不指定数据库名时,表示还原一个特定的数据库,备份文件中存在创建数据库语句。

表的导入和导出

表的导出

select … into outfile 导出文本文件

select [列名] from table [where语句] into outfile '目标文件' [option];

option参数可以包括常用的5个选项:

  • fields terminated by ‘字符串’:设置字符串为字段的分隔符,默认值是‘\t’;
  • fields enclosed by ‘字符’:设置字符来括上字段的值,默认情况下不使用任何符号。
  • fields optionally enclosed by ‘字符’:设置字符来括上char,varchar和text等字符型字段,默认情况下不使用任何符号。
  • fields escaped by ‘字符’:设置转义字符,默认为‘ \’。
  • lines starting by ‘字符串’:设置每行开头的字符,默认情况下无任何字符。
  • lines terminated by ‘字符串’:设置每行的结束符,默认值为‘\n’。

mysqldump命令导出文本文件

mysqldump -u root -p -T 目标目录 DBname table [option]

option可选项如下:

  • –fields-terminated-by=字符串:设置字符串为字段的分隔符,默认值是‘\t’
  • –fields-enclosed-by=字符:设置字符来括上字段的值
  • –fields-optionally-enclosed-by=字符:设置字符括上char、varchar华润text等字符型字段
  • –fields-escaped-by=字符:设置转义字符
  • –lines-escaped-by=字符串:设置每行结束符

mysqldump命令还可以导出xml格式文件语法如下

mysqldump -u root -p [--xml|-X ]DBname table > name.xml

–xml或者-X选项就可以导出xml格式文件

mysql命令导出文件

mysql -u root -p -e "select 语句" DBname > name.txt

导入文本文件

load data infile方式导入文本文件

load data [local] infile file into TABLE table [option]

option参数常用选项

  • fields terminated by ‘字符串’:设置字符串为字段分隔符
  • fields enclosed by ‘字符’:设置字符来括上字段的值,默认情况下不使用任何符号
  • fields optionally enclosed by ‘字符’:设置字符来括上char、varchar和text等字符型字段,默认情况下不使用任何符号
  • fields escaped by ‘字符’:设置转义字符,默认值是‘\’
  • lines starting by ‘字符串’:设置每行开头的字符,默认情况下无任何字符
  • lines terminated by ‘字符串’:设置每行的结束符,默认值是‘\n’
  • ignore n lines:忽略文件前的n行记录
  • set column=expr:将指定的列column进行相应转换后加载,使用expr表达式来进行转换
  • (字段列表):根据字段列表中的字段和顺序来加载记录

mysqlimport命令导入文本文件

mysqlimport -u root -p [--local] DBname file [option]

option可选项如下:

  • –fields-terminated-by=字符串:设置字符串为字段的分隔符,默认值是‘\t’
  • –fields-enclosed-by=字符:设置字符来括上字段的值
  • –fields-optionally-enclosed-by=字符:设置字符括上char、varchar华润text等字符型字段
  • –fields-escaped-by=字符:设置转义字符
  • –lines-escaped-by=字符串:设置每行结束符
  • –ignore-lines=n:表示可忽略前几行

你可能感兴趣的:(Mysql数据备份与还原及表数据的导入导出)