You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 11连接MySQL报错:未知排序规则utf8mb4_0900_ai_ci

解决Laravel 11连接MySQL时“Unknown collation: 'utf8mb4_0900_ai_ci'”错误

错误原因

utf8mb4_0900_ai_ci是MySQL 8.0及以上版本才支持的排序规则,你的MySQL版本低于8.0,而Laravel 11默认使用该排序规则,导致版本不兼容报错。

解决方法

方法1:修改数据库配置

  • 通过.env文件修改:在项目根目录的.env文件中添加或更新以下配置:
    DB_COLLATION=utf8mb4_unicode_ci
    
  • 通过config/database.php修改:打开config/database.php,找到mysql配置数组,将collation值改为兼容低版本MySQL的排序规则:
    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci', // 修改此处
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],
    

方法2:升级MySQL版本

将MySQL升级到8.0及以上版本,原生支持utf8mb4_0900_ai_ci排序规则,无需修改配置即可解决问题。

注意事项

修改配置后,执行以下命令清除配置缓存,确保新配置生效:

php artisan config:clear

内容的提问来源于stack exchange,提问作者Sandeep Pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:22:15