我想用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连接,并且在那里工作正常。
答案 0 :(得分:1)
可能您没有权限从与localhost不同的主机以root身份登录。您可以找到信息here。
您可以通过以下方式授予root权限:
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'mysql root password';
答案 1 :(得分:0)
我遇到了同样的问题,并且发现解决方案是Apache没有设置为允许远程连接。
你可以运行它来检查:
getsebool -a | grep httpd_can_network
我运行以下内容来解决问题:
sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_can_network_connect_db 1
来源: