我使用codeigniter作为cms框架,如果数据库主机名是localhost,它可以正常工作。
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'test';
$db['default']['database'] = 'jinma';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
使用上述配置可正常工作,但如果主机名更改为:
$db['default']['hostname'] = '192.168.1.222';
发生数据库错误:
Unable to connect to your database server using the provided settings.
Filename: third_party/fuel/Loader.php
Line Number: 134
我可以ssh 192.168.1.222, 同时在192.168.1.222中,当hostname为localhost时也可以。
我在谷歌搜索并获得了一个解决方案:
$db['default']['port'] = '3306';
但它对我不起作用,任何想法?
谢谢,这是我的第一个问题,抱歉是愚蠢的。
答案 0 :(得分:7)
默认情况下,MySQL服务器配置为只允许来自localhost的绑定。
转到 my.cnf 并对该行进行评论
bind 127.0.0.1
然后你应该看看你的MySQL用户有足够的权限从其他的ips访问。