Laravel mySQL数据库错误“;“未知数据库”;

Laravel mySQL数据库错误“;“未知数据库”;,laravel,Laravel,我正在尝试使用php artisan migrate命令,但是我不断收到错误: PDOException SQLSTATE[HY000] [1049] Unknown database 'forge' 起初,我得到了: access denied for user 'homestead'@'localhost' 但当我将database.php和.env文件更改为: database.php 'mysql' => [ 'driver' => 'mys

我正在尝试使用php artisan migrate命令,但是我不断收到错误:

PDOException
SQLSTATE[HY000] [1049] Unknown database 'forge'
起初,我得到了:

access denied for user 'homestead'@'localhost'
但当我将database.php和.env文件更改为:

database.php

    'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'laravel'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],
环境署署长

我在某个地方读到,我必须在mySQL数据库中创建数据库。如果我真的需要这样做,为什么呢?从命令行中是否有其他更有效的方法。我的开发环境是Windows7

更新 我已通过转到localhost/phpmyadmin并创建具有相同名称和排序规则的数据库来解决此错误。但是我仍然不明白为什么我必须使用phpmyadmin来创建它,我如何才能从命令行中做到这一点


此外,在这个数据库中,我为用户提供了表,如果我从用户那里获得更多信息,我是创建另一个数据库还是只使用带有这些值的表

通常,您的所有数据都包含在一个数据库中,并且用户只能访问该表。您尝试使用的方法是不安全的,因为您必须授予laravel(或应用程序)创建任何表、删除任何表(撤消创建的表)和读取任何表的权限,这在与其他应用程序共享数据库的环境中可能会出现问题

它还说,如果应用程序不遵循dbs的前缀命名,那么可能会随意使用它们,并与另一个应用程序发生冲突,因为名称空间不存在


但是,如果您确实需要此功能,您可以遵循Koster()编写的指南。

通常,您的所有数据都包含在一个数据库中,并且用户只能访问该表。您尝试使用的方法是不安全的,因为您必须授予laravel(或应用程序)创建任何表、删除任何表(撤消创建的表)和读取任何表的权限,这在与其他应用程序共享数据库的环境中可能会出现问题

它还说,如果应用程序不遵循dbs的前缀命名,那么可能会随意使用它们,并与另一个应用程序发生冲突,因为名称空间不存在

但是,如果您确实需要此功能,可以遵循Koster()编写的指南

DB_HOST=localhost
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=''