MAMP中缺少mysql.sock文件

时间:2015-04-10 17:30:03

标签: mysql mamp laravel-5

我正在使用:

  • MAMP 3.0.7.3
  • OSX 10.10.2
  • laravel / homestead(vagrant)在本地托管我的网站

具体来说,我得到的错误是:

  

Connector.php第47行中的PDOException:   SQLSTATE [HY000] [2002]没有这样的文件或目录

在我的Laravel项目中,在config / database.php中,我有:

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
            'database'  => env('DB_DATABASE', 'stocks'),
            'username'  => env('DB_USERNAME', 'stock_admin'),
            'password'  => env('DB_PASSWORD', 'password'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

在我的.env文件中:

APP_ENV=local
APP_DEBUG=true
APP_KEY=KGY7geRpdCKywyqFhlBFvfNX1g5wXal0

DB_HOST=127.0.0.1
DB_DATABASE=stocks
DB_USERNAME=stock_admin
DB_PASSWORD=password

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null

我尝试在localhost和127.0.0.1之间更改DB_HOST无效。

我已经通过brew安装了mysql。 当我在finder中查找它时,实际文件/Applications/MAMP/tmp/mysql/mysql.sock不存在。

我已经检查了我的/ Applications / MAMP / bin文件:

startmysql.sh

#!/bin/sh

/Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log &

和stopMysql.sh:

#!/bin/sh

/Applications/MAMP/Library/bin/mysqladmin -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock shutdown

我也尝试使用这些命令创建符号链接:

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/tmp/mysql.sock

它似乎不起作用。

我理解mysql.sock文件是动态创建的,但在我的情况下似乎不会发生。我不确定如何从这里开始;感觉好像我已经尝试了一切。任何帮助表示赞赏。

0 个答案:

没有答案