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