codeigniter - 无法连接到MySQL数据库

时间:2014-01-09 19:46:40

标签: php mysql codeigniter

打印出来的错误

Unable to connect to your database server using the provided settings.

Filename: core/Loader.php

Line Number: 346

我一直在查看所有其他问题,似乎没有任何效果。仍然得到这个错误。我的database.php文件中的所有信息都与我在命令行上运行的mysql服务器上的信息相匹配。我还在使用mysqldmysql.server start。我已经使用

在命令行上测试了连接

mysql -h localhost -uroot -p dbname

这似乎可以在我的命令行上运行,但当我在我使用codeigniter项目设置的本地主机服务器上引用它时,它会给我上面的错误。我究竟做错了什么?我有双重和三重检查命名约定,以确保它不是问题。

另外,我在OS X Mavericks上

配置文件中的代码如下:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'PASS';
$db['default']['database'] = 'dbname';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

2 个答案:

答案 0 :(得分:5)

我经常使用CodeIgniter遇到这个问题。通常的解决方案(对我来说!)是将'pconnect'和'db_debug'设置为FALSE:

$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = FALSE;

答案 1 :(得分:2)

我尝试在config / database.php文件中更改以下行并且它有效。 (你得到的错误意味着你的config / database.php出了问题)

'hostname' => '/Applications/MAMP/tmp/mysql/mysql.sock',

此行为的说明是here(OSX上的MySQL错误地发现了mysql.sock)。

干杯!