记一次数据导出过程
-
1 min read
做学工的时候遇到一个要导出另一个学校的数据库数据,遇到并解决了两个问题,在这里记录一下:
MySQL配置了安全文件保护
先在堡垒机登陆上目标系统,进入MySQL


直接使用导出语句会报错:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
这个时候需要看设置的安全文件路径是什么
SHOW VARIABLES LIKE 'secure_file_friv';
+------------------+----------------------+
| Variable_name | Value |
+------------------+----------------------+
| secure_file_priv | /var/lib/mysql-files |
+------------------+----------------------+
1 row in set (0.00 sec)
这时候只需要修改导出路径和对应值一致即可成功导出
SELECT * FROM `table_name` INTO OUTFILE '/var/lib/mysql-files/table_name/csv';
把文件下载下来
因为是在对方堡垒机连接的服务器,所以没法直接使用sftp服务连接,好在机器能访问公网,手上刚好有一个树莓派,将树莓派的sftp服务使用natter打洞暴露在公网,使用sftp传过去

最后,再使用sftp工具下载到自己的电脑上即可。
最后在使用Excel打开之前,先将文件中的所有制表符改为,,因为MySQL导出的文件默认制表符分隔,直接打开如果有带有空格的数据也会被分开,所以使用逗号分隔是最保险的
