75142913在线留言
Laravel数据库迁移时报错SQLSTATE[HY000] [2002] 的解决办法_PHP技术_网络人

Laravel数据库迁移时报错SQLSTATE[HY000] [2002] 的解决办法

Kwok 发表于:2022-04-06 20:06:41 点击:30 评论: 0

当我们要使用php artisan migrate迁移数据表时,出错错误:

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: nodename nor servname provided, or not known (SQL: select * from information_schema.tables where table_schema = example_app and table_name = kwok_migrations and table_type = 'BASE TABLE')

而在运行Larvel项目时数据库查询又是正常的,一般出现在使用官方命令安装了Docker版本。其原因其实很简单,首先打开.env配置文件可以看到:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=example_app
DB_USERNAME=root
DB_PASSWORD=password

其中DB_HOST=mysql这项开始我也不得其解以为是设置错了,就改成了127.0.0.1,php artisan migrate是可以使用了,但Larvel项目却报错了,我就在mysql与127.0.0.1之间反复切换着。

后来了解了Docker的运行原理才知道,我使用了本地的命令来迁移数据,官方推荐的使用Docker里运行迁移命令才是正确的。但使用使用起来比较麻烦,我就想到了使用HOST映射一下。

所以我们只需要修改HOST文件即可解决这个问题:

127.0.0.1 mysql

在HOST文件里增加此项即可正常使用了。

除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:https://www.55mx.com/post/211
标签:2002mysql
1
感谢打赏!

《Laravel数据库迁移时报错SQLSTATE[HY000] [2002] 的解决办法》的网友评论(0)

本站推荐阅读

热门点击文章