4

我使用 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,主机名是localhost也可以。

我在谷歌搜索并得到了一个解决方案来添加:

$db['default']['port'] = '3306';

但这对我不起作用,知道吗?

谢谢,这是我的第一个问题,对不起,我很笨。

4

1 回答 1

7

默认情况下,MySQL 服务器配置为只允许来自 localhost 的绑定。

转到您的my.cnf并评论该行

bind 127.0.0.1

然后你应该看看你的 MySQL 用户有足够的权限从其他 ip 访问。

MySQL 远程访问

于 2012-10-09T08:00:06.740 回答