#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 参数

容器mariadb只允许主机访问

CentOS 7使用PostfixDovecot及MariaDB搭建邮箱服务器

MariaDB 不允许远程连接