使用Laravel命令行工具操作数据库迁移操作时报错,提示mysql 2002错误,如图:
查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢?
在Laravel5中,解决方法如下:
1.在config/database.php数据库配置项中增加的一项是unix_socket,本机Mac上装的MAMP环境,
路径是/Applications/MAMP/tmp/mysql/mysql.sock,查看自己路径的办法是在mysql中输入以下命令就可以看到:
show variables like '%sock%';
如下图所示:
'mysql' => [ | |
'driver' => 'mysql', | |
'host' => env('DB_HOST', 'localhost'), | |
'port' => env('DB_PORT', '3306'), | |
'database' => env('DB_DATABASE', 'forge'), | |
'username' => env('DB_USERNAME', 'forge'), | |
'password' => env('DB_PASSWORD', ''), | |
'charset' => 'utf8', | |
'collation' => 'utf8_unicode_ci', | |
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', | |
'prefix' => '', | |
'strict' => false, | |
'engine' => null, | |
], |