相关疑难解决方法(0)

如何以CSV格式输出MySQL查询结果?

有没有一种简单的方法可以从Linux命令行运行MySQL查询并以CSV格式输出结果?

这就是我现在正在做的事情:

mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/        /,/g' | tee list.csv
select id, concat("\"",name,"\"") as name
from students
EOQ
Run Code Online (Sandbox Code Playgroud)

当有很多列需​​要用引号括起来,或者结果中有引号需要转义时,它会变得混乱.

mysql csv quotes

1118
推荐指数
24
解决办法
113万
查看次数

MySQL从CSV数据加载NULL值

我有一个文件,可以包含3到4列数字,用逗号分隔.当空字段位于行的末尾时,将定义空字段:

1,2,3,4,5
1,2,3,,5
1,2,3
Run Code Online (Sandbox Code Playgroud)

下表是在MySQL中创建的:

+-------+--------+------+-----+---------+-------+
| Field | Type   | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------+
| one   | int(1) | YES  |     | NULL    |       | 
| two   | int(1) | YES  |     | NULL    |       | 
| three | int(1) | YES  |     | NULL    |       | 
| four  | int(1) | YES  |     | NULL    |       | 
| five  | int(1) | YES  |     | NULL    |       | 
+-------+--------+------+-----+---------+-------+

我正在尝试使用MySQL LOAD命令加载数据:

LOAD DATA …
Run Code Online (Sandbox Code Playgroud)

mysql csv load-data-infile

160
推荐指数
4
解决办法
14万
查看次数

MySQL:启用LOAD DATA LOCAL INFILE

我在Ubuntu 12 LTS上运行Mysql 5.5.我应该如何在my.cnf中启用LOAD DATA LOCAL INFILE?

我已经尝试在我的配置中在各个地方添加local-infile但是我仍然得到"这个MySQL版本不允许使用的命令"

mysql

119
推荐指数
9
解决办法
20万
查看次数

从命令行将mysql数据库转储到纯文本(CSV)备份

我想避免使用mysqldump,因为它以一种只便于mysql读取的形式输出.CSV似乎更通用(每个表一个文件很好).但如果mysqldump有优势,我全都耳朵.另外,我想从命令行(linux)运行一些东西.如果这是一个mysql脚本,指向如何制作这样的东西会有所帮助.

mysql csv backup command-line

89
推荐指数
5
解决办法
14万
查看次数

MYSQL进入outfile"访问被拒绝" - 但我的用户有"全部"访问..并且该文件夹是CHMOD 777

有任何想法吗?

SELECT * INTO OUTFILE '/home/myacnt/docs/mysqlCSVtest.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '*'
LINES TERMINATED BY '\n'
FROM tbl_property 
WHERE managerGroupID = {$managerGroupID}
Run Code Online (Sandbox Code Playgroud)

错误:

Access denied for user 'asdfsdf'@'localhost' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1045 into-outfile

70
推荐指数
4
解决办法
14万
查看次数

错误:加载本地数据被禁用 - 这必须在客户端和服务器端启用

我不明白其他人对类似问题的回答,除了最明显的问题,例如下面的问题:

mysql> SET GLOBAL local_infile=1;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+
1 row in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

我的意思是提供了确切的代码。如果有人能一步一步地引导我了解在“客户端”端和“服务器”端启用本地数据需要做什么,我将不胜感激。好像我在客户端启用了本地数据,但我不知道我需要给我的电脑什么指令才能启用“服务器端”。我根本不精通技术,我只是希望能够将数据上传到 MySQL 工作台。

ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides
Run Code Online (Sandbox Code Playgroud)
CREATE TABLE toys (
uniq_id VARCHAR(1000),
product_name VARCHAR(1000),
manufacturer VARCHAR(1000),
price VARCHAR(1000),
number_available_in_stock VARCHAR (1000),
number_of_reviews INT,
number_of_answered_questions INT,
average_review_rating VARCHAR(1000), …
Run Code Online (Sandbox Code Playgroud)

mysql client local

47
推荐指数
6
解决办法
10万
查看次数

MySQL - SELECT*INTO OUTFILE LOCAL?

MySQL太棒了!我目前正在参与主要的服务器迁移,之前,我们的小型数据库曾经与客户端托管在同一台服务器上.
所以我们习惯这样做:SELECT * INTO OUTFILE .... LOAD DATA INFILE ....

现在,我们将数据库移动到另一台服务器,SELECT * INTO OUTFILE ....不再有效,可以理解 - 我相信安全原因.但是,有趣的LOAD DATA INFILE ....是可以改为LOAD DATA LOCAL INFILE ....和bam,它有效.

我不是抱怨,也不是我对MySQL的厌恶.替代方案增加了2行额外代码和系统调用形成.sql脚本.所有我想知道的是为什么LOAD DATA LOCAL INFILE有效,为什么没有这样的东西SELECT INTO OUTFILE LOCAL

我完成了我的作业,找不到上述问题的直接答案.我找不到@MySQL的功能请求.如果有人能够清除它,那就太棒了!

MariaDB能够处理这个问题吗?

mysql sql mariadb into-outfile

41
推荐指数
3
解决办法
10万
查看次数

错误代码:1290.MySQL服务器使用--secure-file-priv选项运行,因此无法执行此语句

我遇到了这样的问题:错误代码:1290.MySQL服务器运行时带有--secure-file-priv选项,因此 当我尝试执行MySQL语句时,它无法执行此语句(Windows):

SELECT *
FROM xxxx
WHERE XXX
INTO OUTFILE 'report.csv'
    FIELDS TERMINATED BY '#'
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
Run Code Online (Sandbox Code Playgroud)

当我执行它时:

INTO OUTFILE 'report.csv'
    FIELDS TERMINATED BY '#'
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
Run Code Online (Sandbox Code Playgroud)

然后它工作.此外,在INTO OUTFILE xxx重新安装MySQL服务器之前,实际工作的相同声明.

有人有想法如何处理这个错误?

mysql

40
推荐指数
2
解决办法
13万
查看次数

禁用安全私有以加载MySQL上的数据

我在Windows 10机器上运行MySQL 5.7.我已经阅读了关于这个主题的所有SO线程,但仍然没有弄清楚如何加载我的数据并通过此错误:

Error Code: 1290. The MySQL server is running with the --secure-file-priv 
option so it cannot execute this statement
Run Code Online (Sandbox Code Playgroud)

我有1)检查设置以更改它们以便能够从我保存数据集的目录中加载,2)以管理员身份打开MySQL并检查命令行并确认安全文件确实指向我的目录,3)并在init文件中确认它指向包含我的文件的正确目录.我尝试更改数据集的位置,使其位于新文件夹中,并确认已使用上述方法将其移动到那里,但仍然无效.

欢迎任何和所有的帮助,谢谢.

mysql sql windows security

16
推荐指数
3
解决办法
7万
查看次数

MySQL将安全文件专用设置为多个目录

有没有办法允许MySQL从多个目录加载数据而无需设置secure-file-priv=''

例如,类似:

secure-file-priv="path/to/dir1","path/to/dir2"
Run Code Online (Sandbox Code Playgroud)

通过阅读文档,尚不清楚是否允许多个目录,以及是否允许多个目录。

mysql

3
推荐指数
1
解决办法
2746
查看次数