Php Laravel 5在现有数据库上迁移

Php Laravel 5在现有数据库上迁移,php,mysql,laravel,Php,Mysql,Laravel,我有一个使用不同框架制作的现有数据库,现在我正在扩展该功能,使LaravelAPI能够与该数据库一起工作。我已成功连接到数据库,并且API响应正确(这意味着.env值设置正确),但是在尝试执行新迁移时,我遇到了一个错误 这就是我得到的错误: Illumb\Database\QueryException:SQLSTATE[HY000][2002] 操作超时(SQL:select*from information\u schema.tables 其中,表\u schema=xxx,表\u name=

我有一个使用不同框架制作的现有数据库,现在我正在扩展该功能,使LaravelAPI能够与该数据库一起工作。我已成功连接到数据库,并且API响应正确(这意味着
.env
值设置正确),但是在尝试执行新迁移时,我遇到了一个错误

这就是我得到的错误:

Illumb\Database\QueryException:SQLSTATE[HY000][2002] 操作超时(SQL:select*from information\u schema.tables 其中,表\u schema=xxx,表\u name=l\u迁移)

在 /Users/xxx/Projects/xxx/vendor/laravel/framework/src/light/Database/Connection.php:664 660 |//如果在尝试运行查询时发生异常,我们将格式化错误 661 |//包含SQL绑定的消息,这将导致此异常 662 |//对开发人员的帮助要大得多,而不仅仅是数据库的错误。 663 |捕获量(例外$e){

664 |抛出新的QueryException( 665 |$query,$this->prepareBindings($bindings),$e 666| ); 667| } 668|

异常跟踪:

1异常::(“SQLSTATE[HY000][2002]操作超时”) /Users/xxx/Projects/xxx/vendor/laravel/framework/src/light/Database/Connectors/Connector.php:70

2 PDO::_构造(“mysql:host=192.168.0.1;port=3306;dbname=xxx”, “xxx”、“xxx”、[]) /Users/xxx/Projects/xxx/vendor/laravel/framework/src/light/Database/Connectors/Connector.php:70

我还尝试过执行
php artisan migrate:install
,但无法创建
migrations
表,我想这就是问题所在

另一方面,我在
.env
中使用了
DB_前缀
,并在
database.php
中进行了如下设置:

'prefix' => env('DB_PREFIX', '')

另一方面,DB位于单独的Docker容器中

如果您使用apache,请在apache配置文件中将超时时间增加到600或1000

我猜您的laravel环境无法找到/连接到数据库。检查您的DB主机、端口以及是否可以从其他docker实例访问它(在脚本或其他内容中ping它)。另外,确保Mysql数据库允许从localhost外部连接指定用户。不幸的是,我无法给出docker特定的答案,但您至少可以调试一下,看看在单独的docker容器上使用DB是否确实是问题所在,如果是,请针对这种docker情况专门寻求帮助。是的,但奇怪的是,我可以从DB获取数据。因此,连接和凭据不应该是问题
Model::all()
实际上从同一数据库获取所有模型。您是否检查了该用户的权限?也许用户没有创建权限?除此之外,我没有更多的建议。