SQLSTATE [HY000] [2005]未知MySQL服务器主机'mysql1.alwaysdata.com:3306'(2)

时间:2014-05-30 13:10:47

标签: php mysql laravel-4

当我尝试访问项目的某些网页时,我有错误SQLSTATE[HY000] [2005] Unknown MySQL server host 'mysql1.alwaysdata.com:3306' (2)

alwaysdata 是我用于数据库的 phpmyadmin网站

我注意到,当我尝试访问与数据库相关的某些页面(例如创建用户等)时,其他页面(如“联系人”)没有问题。

我在Mac OSX上,我使用MAMP服务器,总是数据,laravel和netbeans IDE。在我的项目和数据库之间建立连接所需的所有配置都是正确的。

这是:

SQLSTATE[HY000] [2005] Unknown MySQL server host 'mysql1.alwaysdata.com:3306' (2)

  

开放:   /Applications/MAMP/htdocs/lesenfantsdurhone/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php

 */
public function createConnection($dsn, array $config, array $options)
{
    $username = array_get($config, 'username');

    $password = array_get($config, 'password');

    return new PDO($dsn, $username, $password, $options);
}

如果有人有想法......

谢谢。

4 个答案:

答案 0 :(得分:14)

该端口有own parameter in the DSN

'mysql:host=mysql1.alwaysdata.com;port=3306;dbname=xxx'

或者只是省略端口,3306是默认端口。

答案 1 :(得分:0)

使用Laravel和MAMP以及Sequal Pro时遇到了这个问题。

.env文件中,我设置了

DB_HOST = "localhost"
DB_PORT = "3306"

这很有用。

以前,我有

DB_HOST = "localhost:8889"

答案 2 :(得分:0)

由于我的Virtualbox关闭时间而导致DNS服务失败,我一直收到此错误 - 例如,在您将主机置于休眠状态后,它会执行此操作。

希望这可以帮助处于类似情况的人。

答案 3 :(得分:0)

就我而言,我在'.env'文件中对DB_HOST变量进行了双重定义 第一个是正确的:DB_HOST=127.0.0.1

最后一个是 DB_HOST=127.0.0.1:3306 带有不必要的3306

那是原因。