【问题标题】:SQLSTATE[HY000] [1049] Unknown database - Database created, not functioningSQLSTATE[HY000] [1049] 未知数据库 - 数据库已创建,无法运行
【发布时间】:2016-10-07 04:29:03
【问题描述】:

我的 .env 文件中有这个

    APP_ENV=local
    APP_DEBUG=true
    APP_KEY=m6twKy7Lr6KKFvVa7QgXUe78xfn08MLn

    DB_HOST=localhost
    DB_DATABASE=laravel1
    DB_USERNAME=root
    DB_PASSWORD=somepass

    CACHE_DRIVER=file
    SESSION_DRIVER=file
    QUEUE_DRIVER=sync

    MAIL_DRIVER=smtp
    MAIL_HOST=mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null

这是在我的 database.php 中

   'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

数据库已创建,我可以在浏览器的 phpMyAdmin 中看到它。

但是当我写 php artisan migrate 时,我得到了这个错误:

[PDO异常] SQLSTATE[HY000] [1049] 未知数据库 'laravel1'

我已经看到了答案 Laravel Migration - Says unknown database, but it is created ,但这对我没有帮助。

【问题讨论】:

  • 检查 MySQL 用户 SHOW GRANTS 'root'@'localhost'; 的权限

标签: php mysql laravel


【解决方案1】:

尝试指定您正在使用的 MySQL 端口。可能会奏效。我有一个类似的问题。请务必在您的系统中提供安装 MySQL 的适当端口(默认为 3306)。

'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'port'      => env('DB_PORT', '3306'),
        'database'  => env('DB_DATABASE', 'databasename'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', 'root'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

【讨论】:

  • 你说得对,我必须设置端口号和主机名
  • 我遇到了这个问题,原因是 MySQL 使用端口 3307 而不是 3306,因此出现了这个问题。
猜你喜欢
  • 2020-02-08
  • 2018-09-24
  • 2020-10-21
  • 2016-02-14
  • 1970-01-01
  • 2014-07-29
  • 1970-01-01
  • 1970-01-01
  • 2021-12-03
相关资源
最近更新 更多