Laravel 5 宅基地的数据库未知
Laravel 5 with homestead having unknown database
您好,我正在使用 Laravel 5
和 homestead
。我遇到 homestead
第一次遇到这样的问题。我创建了一个数据库 'myDb' 并将数据导入其中。我已经安装了 vagrant
和 homestead
,克隆了我的代码并相应地配置了 homestead.yaml
文件。我已经设置了我的 .env
。当我尝试 运行 时,我的项目给了我 unknown database myDb error
。我可以在我的 phpmyadmin
中看到我的数据库,但我不知道为什么它会给我这个错误。我的 .env
文件看起来像
DB_HOST=localhost
DB_DATABASE=myDb
DB_USERNAME=homestead
DB_PASSWORD=secret
我的 config/database.php
中也有相同的设置。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'myDb'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
真是气死我了。我究竟做错了什么?我正在关注
in Connector.php line 55
at PDO->__construct('mysql:host=localhost;dbname=myDb', 'homestead', 'secret', array('0', '2', '0', false, '0')) in Connector.php line 55
at Connector->createConnection('mysql:host=localhost;dbname=myDb', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 22
at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 60
at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 49
您可能犯的一个常见错误是您可能正在访问本地主机上的 MySQL 服务器,而您应该记住 Homestead 是一个完整的虚拟开发者。环境。它有自己的 Web 服务器、MySQL 服务器等
要查看 Homestead MySQL 服务器上是否也有 "myDB",请尝试通过以下命令访问 Homestead。
homestead ssh
完成后,尝试通过 mysql 命令打开 mysql 控制台。
mysql -u username -p
然后使用
列出所有数据库
show databases
如果你在那里看不到 "myDb" 数据库,那么你应该尝试使用 Navicat 或 MySQL Workbench 连接到 Homestead MySQL 服务器并将你的数据库从你的本地 MySQL 服务器到 Homestead MySQL 服务器。
这可能会解决您的问题。
如果您要迁移数据库,请检查您迁移的 Homestead.yaml
文件中的数据库名称是否与 .env
文件中的数据库名称相同。
在 Homestead.yaml
文件中:
databases:
- laravel
在您的 .env
文件中:
DB_DATABASE=laravel
您好,我正在使用 Laravel 5
和 homestead
。我遇到 homestead
第一次遇到这样的问题。我创建了一个数据库 'myDb' 并将数据导入其中。我已经安装了 vagrant
和 homestead
,克隆了我的代码并相应地配置了 homestead.yaml
文件。我已经设置了我的 .env
。当我尝试 运行 时,我的项目给了我 unknown database myDb error
。我可以在我的 phpmyadmin
中看到我的数据库,但我不知道为什么它会给我这个错误。我的 .env
文件看起来像
DB_HOST=localhost
DB_DATABASE=myDb
DB_USERNAME=homestead
DB_PASSWORD=secret
我的 config/database.php
中也有相同的设置。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'myDb'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
真是气死我了。我究竟做错了什么?我正在关注
in Connector.php line 55
at PDO->__construct('mysql:host=localhost;dbname=myDb', 'homestead', 'secret', array('0', '2', '0', false, '0')) in Connector.php line 55
at Connector->createConnection('mysql:host=localhost;dbname=myDb', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 22
at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 60
at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 49
您可能犯的一个常见错误是您可能正在访问本地主机上的 MySQL 服务器,而您应该记住 Homestead 是一个完整的虚拟开发者。环境。它有自己的 Web 服务器、MySQL 服务器等
要查看 Homestead MySQL 服务器上是否也有 "myDB",请尝试通过以下命令访问 Homestead。
homestead ssh
完成后,尝试通过 mysql 命令打开 mysql 控制台。
mysql -u username -p
然后使用
列出所有数据库show databases
如果你在那里看不到 "myDb" 数据库,那么你应该尝试使用 Navicat 或 MySQL Workbench 连接到 Homestead MySQL 服务器并将你的数据库从你的本地 MySQL 服务器到 Homestead MySQL 服务器。
这可能会解决您的问题。
如果您要迁移数据库,请检查您迁移的 Homestead.yaml
文件中的数据库名称是否与 .env
文件中的数据库名称相同。
在 Homestead.yaml
文件中:
databases:
- laravel
在您的 .env
文件中:
DB_DATABASE=laravel