> 데이터 베이스 > MySQL 튜토리얼 > mysqldump:数据库备份程序

mysqldump:数据库备份程序

WBOY
풀어 주다: 2016-06-07 15:29:30
원래의
1242명이 탐색했습니다.

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>
로그인 후 복사

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

 

备份一个数据库.

mysqldump <span>-</span>uroot <span>-</span>p123456 mysql <span>></span> mysql_backup.sql
로그인 후 복사

这里备份了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>
로그인 후 복사

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

 

备份所有数据库

mysqldump <span>-</span>u root <span>-</span>p123456  <span>--</span><span>all-databases > all_databases.sql</span>
로그인 후 복사

 

导出mysql这个数据库的结构

 mysqldump <span>-</span>u root <span>-</span>p123456 <span>-</span>d <span>--</span><span>add-drop-table mysql > mysql_define.sql</span>
로그인 후 복사

 

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

mysqldump <span>-</span>u root <span>-</span>p123456 mysql <span>|</span> gzip <span>></span> mysql.sql.gz
로그인 후 복사

 

 

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

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>
로그인 후 복사

或者从gz文件中还原

gunzip <span>-</span>f <span> mysql.sql.gz <span>|</span> mysql <span>-</span>u root <span>-</span>p123456 test</span>
로그인 후 복사

 更多参考 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>;
로그인 후 복사

将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>
로그인 후 복사

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

 

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


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿