larveral|LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY

更新时间:2020-04-01    来源:mysql教程    手机版     字体:

【www.bbyears.com--mysql教程】

今天使用Laravel命令行工具操作数据库迁移操作时报错,提示mysql 2002错误,如图:

artisan-migrate-PDOException

查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢?

在Laravel5中,有两种办法解决:

1.增加一个数据库配置项

"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_general_ci",
    "unix_socket"   => "/Applications/MAMP/tmp/mysql/mysql.sock",
    "prefix"    => "laravel_",
    "strict"    => false,
],
这里增加的一项是unix_socket,本机Mac上装的MAMP环境,路径是/Applications/MAMP/tmp/mysql/mysql.sock,查看自己路径的办法是在mysql中输入以下命令就可以看到:


show variables like "%sock%";
如下图所示:

mysql-show-socket

mysql-show-socket

2.修改.env配置

这个办法只能是临时修改,让migrate可以执行,然后必须改回来。


DB_HOST=localhost
DB_CONNECTION=mysql
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=tanteng
DB_PORT=8889
临时修改办法是把DB_HOST那里改成localhost:8889,也就是把端口号加上,再使用Laravel5的artisan命令执行migrate操作就可以了,但是操作完了要改回以前的写法,否则网站前台页面会打不开连不上数据库,提示错误:SQLSTATE[HY000] [2005] Unknown MySQL server host ‘localhost:8889’ (0)

好了,这样就解决了使用Laravel5的migrate报错的问题

本文来源:http://www.bbyears.com/shujuku/91068.html

热门标签

更多>>

本类排行