好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mysqldump:数据库备份程序

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  [  options  ]   db_name   [  tables  ]  
mysqldump   [  options  ]   --  -database DB1 [DB2 DB3...] 
mysqldump  [  options  ]   --  all--database  

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

备份一个数据库.

mysqldump  - uroot  - p123456 mysql  >  mysql_backup.sql 

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

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

mysqldump  - u root  - p123456  --  database mysql test > my_databases.sql  

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

备份所有数据库 :

mysqldump  - u root  - p123456   --  all-databases > all_databases.sql  

导出mysql这个数据库的结构

 mysqldump  - u root  - p123456  - d  --  add-drop-table mysql > mysql_define.sql  

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

mysqldump  - u root  - p123456 mysql  |  gzip  >  mysql.sql.gz 

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

mysql  db_name      backup  -  file  .sql
mysql   - e "source  / path -  to  --  backup/backup-file.sql" db_name  

或者从gz文件中还原

gunzip  - f    mysql.sql.gz  |  mysql  - u root  - p123456 test 

更多参考 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 OUTFILE 是 LOAD DATA INFILE 的补语;用于语句的 exort_options 部分的语法包括部分 FIELDS 和 LINES 子句,这些子句与 LOAD DATA INFILE 语句同时使用。

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

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

将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 系统变量指示的字符集被用于解释文件中的信息。

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

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

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

查看更多关于mysqldump:数据库备份程序的详细内容...

  阅读:49次