导出数据:SELECT...INTO OUTFILE
如将table1的数据导出到/logs/1.txt文件中:
SELECT * FROM table1
INTO OUTFILE '/logs/1.txt';
将table1的数据中多个值导出,用逗号隔开:
SELECT a,b,c INTO OUTFILE '/logs/2.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n\
FROM table1;
PS:
1. 输出的文件不能已存在,必须是新建的,防止文件数据篡改;
2. 需要拥有文件路径权限;
mysqldump:mysql用于转存储数据库,产生一个sql脚本,使用--tab选项来指定导出文件指定目录
导出SQL格式数据库:
$ mysqldump -u root -p DB1 > 3.txt
password *****
备份所有数据库:
$ mysqldump -u root -p --all-databases > 4.txt
将数据库拷贝至其它主机(两台服务器可以互相访问)
$ mysqldump -u root -p DB1 \
| mysql -h 主机名 DB1
导入数据
1.mysql将备份的数据库导入
mysql -uroot -p password < 数据库名.sql
2.source命令
mysql> create database A;
mysql> use A;
mysql> set name utf8;
mysql> source 备份数据库地址
3.LOAD DATA
从当前目录中读取文件,再将数据插入当前数据库的数据表中
LOAD DATA LOCAL INFILE '1.txt' INTO TABLE table2;