0

我刚刚开始使用 Laravel Forge,但在 SSH 连接到服务器后,我似乎无法登录 MySQL。每次我尝试:

mysql -uforge -p
Enter password: thepassword

我收到此错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我已经使用 Forge 设置了我的环境变量,所以它不应该使用默认值:

DB_HOST=thehostip
DB_DATABASE=forge
DB_USERNAME=forge
DB_PASSWORD=theotherpassword

我将数据库配置保留为:

'default' => env('DB_CONNECTION', 'mysql'),


'connections' => [

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

    ...
],
4

3 回答 3

0

好的,结果证明使用 512MB 服务器是不够的。在向 Laravel Forge 发送电子邮件并解释了我的问题后,有人建议更新到至少 1GB 的服务器可以解决问题,并且确实如此。一旦我配置了一个 1GB 的服务器,我就可以通过 SSH 毫无问题地进入 MySQL。

于 2015-07-29T04:47:21.040 回答
0

我没有使用伪造的经验,但是通过快速浏览一下,您的 MySQL 主机似乎是您解释的 IP 地址,当您说伪造时,这是我的第一个想法,据我所知,它是基于云的服务并且 DATABASE 位于不同的机器/IP 地址上,您想要执行以下命令:

mysql --host [thehostip or hostname] -u forge -p
Enter password: thepassword

你现在正在做的是在同一台机器上访问 mysql。如果我错了,我很抱歉,但是您将配置描述为这一事实DB_HOST=thehostip使我相信它是一个网络地址。 更新 刚刚查看了它返回的错误,我很确定我是对的,另外你做错的事情是 -u 在用户名之前需要一个空格,只有 -p 密码参数不需要空格。

于 2015-07-27T23:44:35.560 回答
0

试试这个命令:

sudo service mysql start
于 2015-07-28T01:47:09.190 回答