我从Laravel 5.4数据库laravel
中删除了migrations
表。当我运行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中运行命令并手动创建表。
这个问题有时也表现为类似的2002年错误:
[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.
(SQL: select * from information_schema.tables where table_schema = laravel
and table_name = migrations and table_type = 'BASE TABLE')
[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
(SQL: select * from information_schema.tables where table_schema = laravel
and table_name = migrations and table_type = 'BASE TABLE')
的数据
9条答案
按热度按时间vs91vp4v1#
如果您使用
localhost
作为.env
文件中的DATABASE_HOST
,请将其更改为127.0.0.1
,然后运行php artisan config:clear
,然后再次尝试php artisan migrate:install
。dgsult0t2#
以下是我对
.env
文件的建议:字符串
然后在
Database.php
中添加文件夹位置:型
最后,试试:
型
ikfrs5lh3#
我通过在
.env
文件中设置环境变量来修复此问题:字符串
实际上,我只是从
DB_HOST=127.0.0.1
改为DB_HOST=mysql
。s1ag04yj4#
如果您使用的是MAMP Pro(对于免费版的MAMP并不总是必需的),那么最好的做法是将此添加到
.env
文件中:字符串
当然,这假设您的MAMP安装在
/Applications/MAMP
(默认值)。z18hc3ub5#
对于Mac用户,将此添加到您的.env文件中
字符串
vxbzzdmp6#
我在macOS上使用MAMP,在将
localhost
编辑为127.0.0.1
并将端口编辑为8888
后,通过添加以下内容修复了此问题'unix_socket' => env('DB_SOCKET','/Applications/MAMP/tmp/mysql/mysql. sock'),
config/database.php
文件plupiseo7#
在某些情况下,这可能会发生,因为mysql服务器没有运行。它发生在我使用Laravel 5.7和重新启动mysql服务器解决了它。对于ubuntu检查mysql服务器
service mysql status
的状态。您可以使用命令service mysql restart
重新启动mysql服务器zzwlnbp88#
对自己的问题提出一个解决方案:
我删除了文件夹并重新创建了代码库,确保将环境指向正确的数据库服务器。这次成功了。我不知道到底是什么原因导致了最初的错误。
hsvhsicv9#
检查.env和database.php中的名称是否匹配:
字符串
也改变:
型
收件人:
型