Laravel:没有这样的文件或目录(SQL:create table`transrations`)

时间:2017-09-25 14:19:04

标签: laravel laravel-5.4 artisan

我从名为migrations的Laravel 5.4数据库中删除了laravel表。当我运行php artisan migrate:install时,我收到此错误:

[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from 
information_schema.tables where table_schema = laravel 
and table_name = migrations)

我删除并重新创建了数据库。我也跑了composer update。没运气。我可以在phpMyAdmin中运行该命令并手动创建表。

11 个答案:

答案 0 :(得分:12)

如果您使用import collections import librosa import wave my_buffer = collections.deque(maxlen=10) f = wave.open('Desktop/0963.wav',"rb") num_frames = f.getnframes() for frame in range(num_frames): my_buffer.append(f.readframes(frame)) 作为数据库主机,请将其更改为localhost,然后运行127.0.0.1,然后再次尝试php artisan config:clear

答案 1 :(得分:1)

也许尝试以下命令

回滚:

php artisan migrate:rollback

或使用以下方式重置:

php artisan migrate:reset

或刷新:

php artisan migrate:refresh

答案 2 :(得分:1)

以下是我对.env文件的建议:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306

然后在Database.php中添加文件夹位置:

'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),

最后,尝试:

php artisan config:clear
php artisan migrate:install

答案 3 :(得分:1)

我在macOS上使用MAMP,并且在将localhost编辑为127.0.0.1和端口为8888后,通过添加以下内容来解决此问题

  

'unix_socket'=> env('DB_SOCKET','/Applications/MAMP/tmp/mysql/mysql.sock'),

到config / database.php文件。

答案 4 :(得分:1)

如果您使用的是MAMP Pro(MAMP的免费版本并不总是必需的),那么最好的办法就是将其添加到您的.env文件中:

DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

这假定您的MAMP安装位置当然是/Applications/MAMP(默认设置)。

信用:@Uncoke

在此问题中的评论

答案 5 :(得分:1)

我通过在.env文件中设置环境变量来解决此问题:

DB_CONNECTION=mysql 
DB_HOST=mysql 
DB_PORT=3306 

实际上,我只是从DB_HOST=127.0.0.1更改为DB_HOST=mysql

答案 6 :(得分:0)

我删除了文件夹并重新创建了代码库,确保将我的环境指向正确的数据库服务器。这次它奏效了。我不知道究竟是什么原因导致了原始错误。

答案 7 :(得分:0)

我正在使用Mamp,因此给出了我的Unix套接字:

localhost:/Applications/MAMP/tmp/mysql/mysql.sock

通过将laravel与数据库连接,我在顶部也得到了错误。 我的解决方案是使用不带“ localhost:”的套接字 (这是本地安装)

因此,请尝试使用套接字:/Applications/MAMP/tmp/mysql/mysql.sock

答案 8 :(得分:0)

如果您将localhost用作数据库主机,请
将其更改为127.0.0.1,然后运行php artisan config:clear
现在再次尝试php artisan migrate:install

答案 9 :(得分:0)

在某些情况下,这可能是由于mysql服务器未运行而发生的。使用Laravel 5.7发生在我身上,然后重新启动mysql服务器解决了它。对于ubuntu,请检查mysql服务器service mysql status的状态。您可以使用命令service mysql restart

重新启动mysql服务器

答案 10 :(得分:0)

在Mac和MAMP上,也可以从DB_HOST中删除.env

致谢:Leap Hawk的评论