我有一个调用 MySQL 的 PHP 脚本LOAD DATA INFILE
从 CSV 文件加载数据。但是,在生产服务器上,我最终遇到了以下错误:
用户访问被拒绝...(使用密码:是)
作为快速解决方法,我将命令更改为LOAD DATA LOCAL INFILE
这有效。但是,相同的命令在客户端服务器上失败并显示以下消息:
该 MySQL 版本不允许使用该命令
我认为这与服务器变量有关:local_infile = off http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_local_infile如上所述here http://dev.mysql.com/doc/refman/5.1/en/load-data-local.html.
请建议一种不涉及更改服务器设置的解决方法。请注意,安装在同一服务器上的 phpMyAdmin 实用程序似乎接受 CSV 文件,尽管我不确定它使用什么LOAD DATA (LOCAL) INFILE
.
遇到了与 root 相同的问题,让我困惑了一会儿
可能是您使用编译设置的服务器设置有问题
使用同一用户测试登录到控制台并尝试加载数据命令
如果您遇到相同的错误,请尝试关闭控制台并运行
mysql -u USER -p --local-infile=1 DATABASE
现在尝试再次运行加载数据命令
如果它有效,那么您将需要使用命令行选项重新启动 mysqld 或使用配置选项重新安装
参考文献(参考文献适用于 5.0,但适用于我的 5.5):
http://dev.mysql.com/doc/refman/5.0/en/load-data-local.html http://dev.mysql.com/doc/refman/5.0/en/load-data-local.html
http://dev.mysql.com/doc/refman/5.0/en/mysql-command-options.html#option_mysql_local-infile http://dev.mysql.com/doc/refman/5.0/en/mysql-command-options.html#option_mysql_local-infile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)