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表。