1. 查看MySQL的文件导出路径
MySQL默认限制了文件导出的目录,需先确认可写入的路径:
mysql -u your_username -p -e "SHOW VARIABLES LIKE 'secure_file_priv';"
示例输出:
+------------------+-----------------------+
| Variable_name | Value |
+------------------+-----------------------+
| secure_file_priv | /var/lib/mysql-files/ |
+------------------+-----------------------+
注意:若`Value`字段为空,表示MySQL禁止文件导出功能。需修改配置文件`my.cnf`中`secure_file_priv`参数并重启服务。
2. 执行数据导出命令
将查询结果保存到CSV文件,需使用`SELECT ... INTO OUTFILE`语法:
MySQL命令示例:
SELECT *
INTO OUTFILE '/var/lib/mysql-files/products.csv'
FIELDS TERMINATED BY ',' -- 字段用逗号分隔
OPTIONALLY ENCLOSED BY '"' -- 字段值自动用双引号包裹(当字段包含特殊字符时)
LINES TERMINATED BY '\n' -- 每行以换行符结束
FROM products;
关键参数说明:
- `FIELDS TERMINATED BY`:指定字段分隔符(常用`,`或`\t`)
- `OPTIONALLY ENCLOSED BY`:自动为字段值添加包裹符(如双引号),防止字段内包含分隔符时数据错位
- `LINES TERMINATED BY`:指定行结束符(`\n`为Unix/Linux系统换行符,Windows建议使用`\r\n`)