#1148 - 此 MariaDB 版本不允许使用的命令
Posted
技术标签:
【中文标题】#1148 - 此 MariaDB 版本不允许使用的命令【英文标题】:#1148 - The used command is not allowed with this MariaDB version 【发布时间】:2017-04-06 01:30:02 【问题描述】:我必须将一些数据从 CSV 文件导入到我的 Aruba 服务器上的 db 表中。 我使用以下查询:
LOAD DATA LOCAL INFILE 'test.csv' INTO TABLE dailycoppergg
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(
ddmmyy,
lmedollton,
changedolleuro,
euroton,
lmesterton,
delnotiz,
girm,
sgm
)
我在其他 Aruba 服务器上测试了这个查询,它工作正常,但在这里,我有以下错误:
#1148 - Il comando utilizzato non e` supportato in questa versione di MariaDB
如何修改我的查询以将 csv 文件数据导入dailycoppergg 表?你能帮我吗?谢谢!
【问题讨论】:
【参考方案1】:查询正常,但是 mysql 客户端 (mysql
) 默认禁用本地 infile,您需要以 mysql --local-infile ...
运行它,然后相同的查询应该可以工作。
错误消息是遗留问题,令人困惑。
【讨论】:
谢谢你,你能告诉我如何从我的托管服务的管理面板中设置这个吗? 这在很大程度上取决于您的托管服务、管理面板、您可以配置多少、您可以访问什么等等。首先,如果您可以从面板运行查询,运行select @@local_infile
。如果它显示0
,则表示出于安全原因(这很聪明),它在服务器端被禁用,所以你可以忘记它。如果它显示1
,它在服务器上启用,然后找出允许在客户端配置的内容。万一您有权访问客户端配置文件,您可以在[client]
部分设置loose-local-infile=1
。
如果您无权访问客户端运行的主机,那么问题是为什么您需要LOAD DATA LOCAL INFILE
开头,因为它假定文件存在于客户端主机上,并且没有访问权限,你不能把它放在那里。如果您可以通过 FTP 访问客户端主机,但无法访问客户端配置文件,并且管理面板中没有用于配置客户端选项的工具,请咨询您的托管支持,如果您提出您的情况,他们可能会为您启用它。 【参考方案2】:
由于您使用的是 phpMyAdmin,我强烈建议您只使用“导入”选项卡,而不是在 SQL 选项卡中手动输入导入查询。 phpMyAdmin 可以轻松导入 CSV 文件,我认为手动输入查询没有任何优势。
【讨论】:
以上是关于#1148 - 此 MariaDB 版本不允许使用的命令的主要内容,如果未能解决你的问题,请参考以下文章
不允许主机“localhost”连接到此 MariaDB 服务器
不支持 Mariadb 10 Mysql Workbench 维护
MySQL/MariaDB 中的存储过程不允许使用 NULL 参数