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

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

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

在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

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报错的问题

时间: 2016-12-29

LARAVEL执行MIGRATE命令:NO SUCH FILE OR DIRECTORY的相关文章

Laravel执行migrate命令提示:No such file or directory的解决方法_php实例

本文实例讲述了Laravel执行migrate命令提示:No such file or directory的解决方法.分享给大家供大家参考,具体如下: 今天使用Laravel命令行工具操作数据库迁移操作时报错,提示mysql 2002错误,如图: 查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢? 在Laravel5中,有两种办法解决: 1.增加一个数据库配置项 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_H

Laravel执行migrate操作提示”Class not found”怎么解决

使用Laravel的artisan命令工具执行migrate操作,提示"Class not found"的错误,但是这个migrate类文件是存在的,如遇到这个问题,可执行以下composer dump-autoload,问题得到解决. 一开始报错如下: [[email protected] tanteng.me]# php artisan migrate:reset                                                           

Yii使用migrate命令执行sql语句的方法_php实例

本文实例讲述了Yii使用migrate命令执行sql语句的方法.分享给大家供大家参考,具体如下: Yii2自带一个强大的命令行管理工具,在windows下打卡cmd命令窗口,切换到Yii项目所在目录(包含Yii.bat),就可以在cmd中运行Yii命令了. 使用Yii migrate命令执行sql语句: 如在路径为/console/migrations/m130524_201442_init.php这个文件定义了一张User表的sql,我们要执行这个sql来生成数据表,就运行: yii migr

Linux下普通用户执行sudo命令不需要密码问题的解决

环境:VirtualBox4.1 + RedHat Linux 6 + Putty0.62 问题:当普通 用户执行sudo命令时,会提示你输入当前用户的密码.使用这个命令目的就是为 了安全.方便,每次输入密码就会显得麻烦.所以提供如下的解决办法.只需要 以前的基础上添加NOPASSWD就行. 解决: 1.添加可以执行root命 令的用户,详情参考XXX is not in the sudoers file解决. 2.在以前的 基础上添加代码 user_name ALL=(ALL) NOPASSW

python中执行shell命令的几个方法小结

来源:http://www.jb51.net/article/55327.htm Python 执行 shell 命令 最近有个需求就是页面上执行shell命令,第一想到的就是os.system os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了.尝试第二种方案 os.popen() output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen(

MySQL执行GRANT命令时报错ERROR 1045解决办法

在MySQL执行GRANT命令时出现如下错误内容. mysql> grant all on *.* to ... ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 调查内容 mysql.user表 不小心把mysql.user表清除了的话,可以追加root用户,但这次好像不是这个问题. mysql> select user,host, password from mysql.u

安装cdh5.0执行impala-shell命令报impala_shell.py文件找不到

一 问题描述     采用package包方式安装cdh时, 安装程序会将impala-shell目录下的所有文件复制到/usr/lib/impala-shell下面, 但采用parcels安装时,安装程序并不会创建/usr/lib/impala-shell目录,也不会复制相应的文件, 所以安装好CDH后,执行impala-shell会报impala_shell.py找不到. [[email protected] hadoop]# impala-shell  ls: 无法访问/usr/lib/impal

PHP对文件夹递归执行chmod命令的方法_php技巧

本文实例讲述了PHP对文件夹递归执行chmod命令的方法.分享给大家供大家参考.具体分析如下: 这里对文件夹和文件递归执行chmod命令来改变执行权限 <?php function recursiveChmod($path, $filePerm=0644, $dirPerm=0755) { // Check if the path exists if(!file_exists($path)) { return(FALSE); } // See whether this is a file if(

Java程序执行Linux命令

java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: [plain] view plaincopyprint? ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,   该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.   检查进程的退出状态以及销毁(杀掉)进程的方法.   创建进程的方法可能无法