我刚刚开始使用Laravel Forge,但在进入服务器后,我似乎无法登录MySQL。每次我尝试:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
我收到此错误:
DB_HOST=thehostip
DB_DATABASE=forge
DB_USERNAME=forge
DB_PASSWORD=theotherpassword
我使用Forge设置了我的环境变量,所以它不应该使用默认值:
'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,
],
...
],
我已将数据库配置保留为:
{{1}}
答案 0 :(得分:0)
我没有使用伪造的经验,但是通过快速查看,看起来你的MySQL主机就像你解释的那样是一个IP地址,这是我第一次想到伪造的时候,从我所知道的服务它是基于云的,DATABASE位于不同的机器/ IP地址上,您要执行以下命令:
mysql --host [thehostip or hostname] -u forge -p
Enter password: thepassword
您现在正在做的是访问同一台计算机上的mysql。如果我错了,我很抱歉,但您将配置描述为DB_HOST=thehostip
这一事实让我相信它是一个网络地址。
的更新强>
只是看看它返回的错误,我很确定我是对的,
另外你做错的是-u在用户名之前需要一个空格,只有密码的-p参数不需要空格。
答案 1 :(得分:0)
给这个命令一个镜头:
sudo service mysql start
答案 2 :(得分:0)
好的,解决方案原来是使用512MB服务器是不合适的。在通过电子邮件发送Laravel Forge并解释我的问题之后,有人建议更新到至少1GB的服务器可以解决问题,而且确实如此。一旦我配置了1GB服务器,我就可以通过SSH进入MySQL而没有任何问题。