gpt4 book ai didi

mysql - 无法使用 LOAD DATA INFILE 将数据加载到 MySQL 数据库

转载 作者:可可西里 更新时间:2023-11-01 08:52:32 26 4
gpt4 key购买 nike

我在 Ubuntu 12.04 中使用 LAMP。我在 MySQL (myserver@localhost) 中创建了一个新用户,并将数据库上的 ALL 权限授予该用户。有一个文本文件,其权限设置为所有人都可以阅读。但是当我尝试将数据从该文本文件加载到数据库时,它显示“用户 'myserver'@'localhost' 的访问被拒绝(使用密码:YES)”

我使用的查询是:

LOAD DATA INFILE "~/text/member_info.txt" INTO TABLE member FIELDS TERMINATED BY '|';

我可以想到在 PHP 中使用一些循环的解决方法,但为什么“LOAD DATA INFILE”不起作用?

谢谢。

最佳答案

这是由于您在 Ubuntu LTS 12.04 中使用的 MYSQL 5.5 版本:mysql doc

来自 mysql 文档评论:

You can use LOAD DATA LOCAL with recent versions of PHP without recompiling PHP.

Passing 128 (the value of the CLIENT_LOCAL_FILES constant) as the fifth parameter to mysql_connect () enables LOAD DATA LOCAL on the client side.

Example: $dbh = mysql_connect($server, $user, $pass, false, 128);

For PHP 4.3 and above.

但实际上,mysql_connect()已经过时了,我找不到使用mysqli的解决方案。

这就是我最终使用 this 的原因谁来解决问题。

grant file on *.* to mydatabase@localhost identified by 'myuser';

现在 $mysqli->query("LOAD DATA INFILE '".$proxy_file_name_path."' IGNORE INTO TABLE mytable (myfield)"

关于mysql - 无法使用 LOAD DATA INFILE 将数据加载到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com