Laravel Forge 无法通过套接字连接到 MySQL
Laravel Forge Can't Connect to MySQL through Socket
我刚开始使用 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,
],
...
],
我没有使用 Forge 的经验,但快速浏览一下,看起来您的 MySQL 主机是您解释的 IP 地址,当您说 Forge 时我的第一个想法是我知道它是基于云的服务,数据库位于不同的 machine/IP 地址上,您需要执行以下命令:
mysql --host [thehostip or hostname] -u forge -p
Enter password: thepassword
您现在正在做的是在同一台机器上访问 mysql。如果我错了,我很抱歉,但您将配置描述为 DB_HOST=thehostip
的事实让我相信它是一个网络地址。
更新
刚刚查看了 returns 的错误,我很确定我是对的,
另外你做错的另一件事是 -u 在用户名之前需要 space 只有密码的 -p 参数不需要 spaces.
试试这个命令:
sudo service mysql start
好的,解决方案原来是使用512MB的服务器是不够的。在向 Laravel Forge 发送电子邮件并解释了我的问题后,建议更新到至少 1GB 服务器可以解决问题,它确实做到了。一旦我配置了一个 1GB 服务器,我就可以通过 SSH 进入 MySQL 而没有任何问题。
我刚开始使用 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,
],
...
],
我没有使用 Forge 的经验,但快速浏览一下,看起来您的 MySQL 主机是您解释的 IP 地址,当您说 Forge 时我的第一个想法是我知道它是基于云的服务,数据库位于不同的 machine/IP 地址上,您需要执行以下命令:
mysql --host [thehostip or hostname] -u forge -p
Enter password: thepassword
您现在正在做的是在同一台机器上访问 mysql。如果我错了,我很抱歉,但您将配置描述为 DB_HOST=thehostip
的事实让我相信它是一个网络地址。
更新
刚刚查看了 returns 的错误,我很确定我是对的,
另外你做错的另一件事是 -u 在用户名之前需要 space 只有密码的 -p 参数不需要 spaces.
试试这个命令:
sudo service mysql start
好的,解决方案原来是使用512MB的服务器是不够的。在向 Laravel Forge 发送电子邮件并解释了我的问题后,建议更新到至少 1GB 服务器可以解决问题,它确实做到了。一旦我配置了一个 1GB 服务器,我就可以通过 SSH 进入 MySQL 而没有任何问题。