一、数据导入
我们在导入导出数据前后首先通过show variables like '%secure%';
命令查看‘secure-file-priv’ 当前的值是什么。
如图:
1.secure_file_priv 为 NULL 时:表示限制mysqld不允许导入或导出
2.secure_file_priv 为 /tmp时:表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行
3.secure_file_priv 没有值时:表示不限制mysqld在任意目录的导入导出
可以看到,我的没有权限。为了改变MySQL的导入导出权限,需要打开my.cnf 或 my.ini(一般在MySQL安装路径主目录下),加入命令secure_file_priv=''
,重启MySQL。
net stop mysql` #关闭mysql服务`
net start mysql #打开mysql服务
导入方式一、数据文件导入:
LOAD DATA INFILE '/var/lib/mysql-files/output.csv'
INTO TABLE Person
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY ""
ESCAPED BY ""
LINES TERMINATED BY '\r\n';
数据文件导入方式只包含数据,导入规则由数据库系统完成。
导入方式二、用SQL语句导入:
source *.sql
SQL 文件导入相当于执行该文件中包含的 SQL 语句,可以实现多种操作,包括删除,更新,新增,甚至对数据库的重建。
二、数据导出
SELECT * FROM Person
INTO OUTFILE '/var/lib/mysql-files/output.csv'
FIELDS TERMINATED BY ',' --字段以','分隔
OPTIONALLY ENCLOSED BY "" --字段用""括起
ESCAPED BY "" --字段中使用的转义符为"
LINES TERMINATED BY '\r\n'; --行以\r\n结束