Home > Database > Mysql Tutorial > mysqldump:数据库备份程序

mysqldump:数据库备份程序

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 15:29:30
Original
1275 people have browsed it

mysqldump:数据库备份程序 有 3 种方式来调用 mysqldump : mysqldump [ options ] db_name [ tables ] mysqldump [ options ] -- -database DB1 [DB2 DB3...] mysqldump [ options ] -- all--database 如果没有指定任何表或使用了 ---database 或 --all--d

mysqldump:数据库备份程序

 

3种方式来调用mysqldump

mysqldump <span>[</span><span>options</span><span>]</span> <span>db_name</span> <span>[</span><span>tables</span><span>]</span><span>
mysqldump </span><span>[</span><span>options</span><span>]</span> <span>--</span><span>-database DB1 [DB2 DB3...]</span>
mysqldump <span>[</span><span>options</span><span>]</span> <span>--</span><span>all--database</span>
Copy after login

如果没有指定任何表或使用了---database--all--database选项,则转储整个数据库。

 

备份一个数据库.

mysqldump <span>-</span>uroot <span>-</span>p123456 mysql <span>></span> mysql_backup.sql
Copy after login

这里备份了database mysql的结构和数据,生成的sql文件不会有创建database mysql的语句。

 

可以用一个命令备份mysql,test多个数据库:

mysqldump <span>-</span>u root <span>-</span>p123456 <span>--</span><span>database mysql test > my_databases.sql</span>
Copy after login

生成的sql文件有创建database mysql和test的语句

 

备份所有数据库

mysqldump <span>-</span>u root <span>-</span>p123456  <span>--</span><span>all-databases > all_databases.sql</span>
Copy after login

 

导出mysql这个数据库的结构

 mysqldump <span>-</span>u root <span>-</span>p123456 <span>-</span>d <span>--</span><span>add-drop-table mysql > mysql_define.sql</span>
Copy after login

 

导出一个数据所有数据并用gz压缩

mysqldump <span>-</span>u root <span>-</span>p123456 mysql <span>|</span> gzip <span>></span> mysql.sql.gz
Copy after login

 

 

可以这样将转储文件读回到服务器:

mysql <span>db_name</span> <span> <span>backup</span><span>-</span><span>file</span><span>.sql
mysql </span><span>-</span>e "source <span>/</span>path<span>-</span><span>to</span><span>--</span><span>backup/backup-file.sql" db_name</span></span>
Copy after login

或者从gz文件中还原

gunzip <span>-</span>f <span> mysql.sql.gz <span>|</span> mysql <span>-</span>u root <span>-</span>p123456 test</span>
Copy after login

 更多参考 http://dev.mysql.com/doc/refman/5.1/zh/client-side-scripts.html#mysqldump

 

SELECT...INTO OUTFILE

SELECT...INTO OUTFILE 'file_name'形式的SELECT可以把被选择的行写入一个文件中,该文件被创建到服务器主机上。

SELECT...INTO OUTFILELOAD DATA INFILE的补语;用于语句的exort_options部分的语法包括部分FIELDSLINES子句,这些子句与LOAD DATA INFILE语句同时使用。

在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用

<span>SELECT</span> <span>*</span> <span>INTO</span> OUTFILE <span>'</span><span>/tmp/result.txt</span><span>'</span><span> 
FIELDS TERMINATED </span><span>BY</span> <span>'</span><span>,</span><span>'</span><span> 
OPTIONALLY ENCLOSED </span><span>BY</span> <span>'</span><span>"</span><span>'</span><span> 
LINES TERMINATED </span><span>BY</span> <span>'</span><span>\n</span><span>'</span>
<span>FROM</span> mysql.<span>user</span>;
Copy after login

将mysql数据库的user表的数据导出到/tmp/result.txt

SELECT...INTO OUTFILE只能导出数据,不能导出结构,一般和load data联合使用。

更多参考 http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#select

 

LOAD DATA INFILE

LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并装入一个表中。文件名称必须为一个文字字符串。

character_set_database系统变量指示的字符集被用于解释文件中的信息。

<span>LOAD</span> DATA LOCAL INFILE <span>'</span><span>/tmp/result.txt' INTO TABLE test.user
FIELDS TERMINATED BY </span><span>'</span>,<span>'</span><span> 
OPTIONALLY ENCLOSED BY </span><span>'</span>"<span>'</span><span> 
LINES TERMINATED BY </span><span>'</span>\n<span>'</span>
Copy after login

把/tmp/result.txt的数据导入到test数据库的user表。

 

更多参考 http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#load-data


Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template