【问题标题】:SQLSTATE[HY000]: General error: 1030 Got error 168 when running migrationsSQLSTATE [HY000]:一般错误:1030 运行迁移时出现错误 168
【发布时间】:2020-11-04 21:22:36
【问题描述】:

我通过 composer 安装了全新的 laravel 7,创建了数据库并连接到 .env。 但是,当我运行迁移时,我看到以下错误:

    ➜  laravel-adp-4 git:(develop) ✗ php artisan migrate

   Illuminate\Database\QueryException

  SQLSTATE[HY000]: General error: 1030 Got error 168 - 'Unknown (generic) error from engine' from storage engine (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

我可以确认我的所有服务都已启动:

➜  laravel-adp-4 git:(develop) ✗ brew services list
Name      Status  User    Plist
mysql     started macbook /Users/macbook/Library/LaunchAgents/homebrew.mxcl.mysql.plist
mysql@5.7 started macbook /Users/macbook/Library/LaunchAgents/homebrew.mxcl.mysql@5.7.plist
nginx     started root    /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
php       started root    /Library/LaunchDaemons/homebrew.mxcl.php.plist
php@7.3   started macbook /Users/macbook/Library/LaunchAgents/homebrew.mxcl.php@7.3.plist

尝试进行故障排除时,我注意到我无法再操作 mysql。 当我尝试创建另一个数据库时,我看到以下错误:

ERROR 3680 (HY000): Failed to create schema directory 'alala' (errno: 2 - No such file or directory)

为什么我无法运行迁移? 为什么我无法创建数据库?

【问题讨论】:

    标签: mysql laravel


    【解决方案1】:

    您的查询不正确,您在 utf8mb4_unicode_ci 周围的单引号太多

    create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) 
    default character set utf8mb4 collate utf8mb4_unicode_ci
    

    【讨论】:

    • 请记住,这是从 Laravel 命令php artisan:migrate 生成的 SQL 输出;他们无法按照您的建议直接修改此查询...
    猜你喜欢
    • 2014-12-31
    • 2020-05-13
    • 2020-03-19
    • 1970-01-01
    • 2021-06-15
    • 2012-10-24
    • 2017-06-25
    • 2012-10-25
    相关资源
    最近更新 更多