linux 下MySQL命令行导出csv文件格式

从数据库服务器导出
1、登录mysql

mysql -uroot -p
2、切换数据库

use database
3、导出文件命令

SELECT id, column1, column2 FROM table
INTO OUTFILE '/tmp/mysqlfiles/table.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY 'n'

 

select * from cd_ret_well_collect into outfile '/var/lib/mysql-files/test.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\n';

导出文件的权限不够不能复制用下面的命令sudo chmod 777 /var/lib/mysql-files/test.csv
将 数据输出到 /tmp/mysqlfiles/table.csv,或者我们将其配置到的任何目录。 我们需要确保运行 MySQL 的用户(通常是 root)拥有该目录的所有权和写入权限。

我们还需要确保 secure_file_priv 设置允许 MySQL 访问该目录。 默认情况下,这会阻止 SQL 查询的读写访问。 如果我们的代码容易受到 SQL 注入的攻击,任何潜在的攻击者都只能访问 MySQL,而不能访问文件系统的其余部分。

如果没有配置改参数会报错,如下:

我们可以通过编辑 MySQL 配置文件(通常位于 /etc/my.cnf)来将特定目录列入白名单,包括

[mysqld]

secure-file-priv = "/tmp/mysqlfiles"

这将允许 MySQL 读取和写入 /tmp/mysqlfiles/ (我们必须使用 mkdir 创建)。 一旦 MySQL 可以导出文件,我们就应该能够运行查询并输出 CSV 文件。

导出文件如下图:
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qingyou2006/article/details/130193149

posted @ 2024-06-13 16:27  南国之恋  阅读(327)  评论(0编辑  收藏  举报