【发布时间】:2014-06-09 08:31:03
【问题描述】:
我是一名刚接触 MySQL 的 Java 开发人员。
我想使用 PHPMyAdmin 执行加载数据操作。加载数据脚本已经过验证,因为它在我的 Windows 操作系统配置上运行良好。尝试从 CSV 加载数据时,我得到:
此 MySQL 版本不允许使用的命令
版本详情如下
Mysql 服务器版本: 5.5.34-0
操作系统: ubuntu0.13.04.1 (Ubuntu)
我已完成对 my.cnf 的编辑,如下所示:
[mysql]
local-infile =1
#no-auto-rehash # faster start of mysql but no tab completition
.......................
[mysqld]
#
# * Basic Settings
#
local-infile =1
user = mysql
.........................
[client]
loose-local-infile=1
root
port = 3306
.........................
我尝试过多次重启 apache 和 mysql - sudo 服务 mysql 重启 sudo service apache2 重启
没有什么能帮助我使用 phpmyadmin 执行操作。使用以下命令时
mysql -u root -p --local-infile test
我可以通过mysql提示成功执行加载数据操作。由于我有多个 CSV 块和每个块的 SQL 加载脚本,所以我想使用 phpmyadmin 一次性运行它(加载由 $ 分隔的脚本)。
请帮我解决这个问题。 我已经完成了堆栈溢出的以下答案
ERROR 1148: The used command is not allowed with this MySQL version
LOAD DATA LOCAL INFILE gives the error The used command is not allowed with this MySQL version
[更新]
变量 local_infile 显示为“ON”,我已使用 phpmyadmin 上的 SQL 查询验证了这一点
SHOW VARIABLES LIKE "local%"
加载脚本
LOAD DATA LOCAL INFILE 'full_dir_path/man_final.csv'
INTO TABLE `manufact_t`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(man_sr,man_name, address, phone, fax, email, url,subdivision, @man_parent, man_id)
set man_parent=0;
【问题讨论】:
-
@Daanvn 谢谢,但我在问题中提到“mysql -u root -p --local-infile test”正在工作,这里的测试是我的 DBName。我只想启用本地加载数据。
-
能否显示您正在使用数据上传的命令。
-
@ZafarMalik 脚本完全没问题,我可以从 mysql 提示符使用加载脚本,但我仍在更新问题以拥有该加载脚本。请在最后查看问题更新。谢谢
标签: php mysql phpmyadmin