php mysqli_query 拒绝用户访问

标签 php mysql amazon-web-services mysqli

好吧,我完全被难住了。我已经设置了一个 AWS RDS(免费套餐)并通过 mac os x 终端测试了连接,我可以很好地连接。

我也可以像这样用 php 发出一个连接语句(这似乎有效):

$this -> _mysqli = new mysqli( );
$this -> _mysqli -> init( );
$this -> _mysqli -> options(MYSQLI_OPT_LOCAL_INFILE, true);
$this -> _mysqli -> real_connect($host, $username, $password, $db, $port);
print_r( $this -> _mysqli );

/*print_r returns*/
mysqli Object ( 
    [affected_rows] => 0 
    [client_info] => 5.5.33 
    [client_version] => 50533 
    [connect_errno] => 0 
    [connect_error] => 
    [errno] => 0 
    [error] => 
    [error_list] => Array ( ) 
    [field_count] => 0 
    [host_info] => sadmicrowave-dev.*****.*****-****.rds.amazonaws.com via TCP/IP 
    [info] => 
    [insert_id] => 0 
    [server_info] => 5.6.13 
    [server_version] => 50613 
    [stat] => Uptime: 26448 Threads: 3 Questions: 27070 Slow queries: 0 Opens: 1962 Flush tables: 1 Open tables: 98 Queries per second avg: 1.023 
    [sqlstate] => 00000 
    [protocol_version] => 10 
    [thread_id] => 122 
    [warning_count] => 0 ) 

这似乎表明连接成功了; ?在冗长地介绍了我的设置之后,我的问题来了。在我的类里面,我有一个方法来发出查询;它看起来像这样:

$q = mysqli_query( 
       $this -> _mysqli, 
      "LOAD DATA INFILE '$FILE'
       IGNORE INTO TABLE `php-challenge-apr-2014`
       FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
       LINES TERMINATED BY '\n'
       IGNORE 1 LINES"
);

但此查询返回以下错误(尽管我在同一个类实例中工作,这意味着 $this -> _mysqli 已在上面的连接语句中设置)

Access denied for user 'sadmicrowave'@'%' (using password: YES)]"}

F 是怎么回事?

最佳答案

这真是太蠢了,但我想出了我的问题,我忘记了 LOAD DATA 查询中的 local 关键字。如果没有 local 关键字,MySQL 服务器会认为我正在尝试访问服务器上的文件,而不是本地主机上的文件。当然,在这种情况下,Amazon 可能出于某种原因将此功能锁定在他们的 RDS 实例上;因此出现了 Access Denied 问题。

关于php mysqli_query 拒绝用户访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23156519/

相关文章:

c# - MySql C# - 使用 PhPmyAdmin 访问,但不能使用应用程序访问

node.js - 无法使用 Lambda 和 API 网关访问 API

amazon-web-services - 带有 esp8266 的 AWS 物联网

php - 如何在不同时间重新创建具有相同 sha1sums 的 PHAR 文件?

mysql - Magento 和数据库 max_user_connections 错误

PHP mkdir() :Permission denied

php - 使用php删除数据

python - 为什么 Amazon Redshift 会序列化我的并发更新?

php - 如何将父菜单描述添加到我的 Wordpress 菜单?

php - 如何在 php 中对多维关联数组的重复值进行分组?