【问题标题】:Connect to mysql database with local Ip address - Codeigniter使用本地 IP 地址连接到 mysql 数据库 - Codeigniter
【发布时间】:2017-12-25 09:39:06
【问题描述】:

我想用ip地址而不是本地主机连接到数据库,但是当我写IP地址(局域网中的另一台PC)时,它显示权限被拒绝的错误。我的连接数组如下:

$db['default']['hostname'] = '192.168.1.122';
$db['default']['username'] = 'root';
$db['default']['password'] = '123456';
$db['default']['database'] = 'test_db';
$db['default']['dbdriver'] = 'mysqli';

结果是:

消息:mysqli::real_connect(): (HY000/2002): 权限被拒绝 文件名:mysqli/mysqli_driver.php

我正在使用 CentOS 7 并尝试与 telnet 连接,它在那里工作正常。

【问题讨论】:

  • 是否允许通过防火墙访问 MySQL 端口?好像你被屏蔽了。请检查您是否有权访问和控制防火墙中的 MySQL 端口。
  • 那个IP是你路由器的号码。也许这就是它不起作用的原因。

标签: php codeigniter mysqli


【解决方案1】:

您可能没有权限从不同于 localhost 的主机以 root 身份登录。您可以找到信息here

您可以通过这种方式授予root权限:

GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'mysql root password';

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,发现解决方案是 Apache 未设置为允许远程连接。

    你可以运行这个来检查:

    getsebool -a | grep httpd_can_network
    

    我运行以下命令来解决此问题:

    sudo setsebool -P httpd_can_network_connect 1
    sudo setsebool -P httpd_can_network_connect_db 1
    

    来源:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 2016-03-01
      相关资源
      最近更新 更多