Laravel 5.5 与 MySQL 8.0.11:“sql_mode”无法设置为“NO_AUTO_CREATE_USER”的值

问题描述 投票:0回答:7

我刚刚安装了 MySQL

8.0.11
,将我的应用程序的数据库转移到其中,并更改了 Laravel 数据库设置以使用新的数据库。现在每次我尝试登录时都会收到以下错误:

ERROR 1231 (42000):
Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

我尝试手动设置

NO_AUTO_CREATE_USER

set global sql_mode="..., NO_AUTO_CREATE_USER, ...";

但是我遇到了同样的错误。我怎样才能解决这个问题并用 MySQL 运行 Laravel

5.5
    

mysql laravel laravel-5
7个回答
59
投票

8.0.11



15
投票

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, 'modes' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ], ],



13
投票
https://github.com/laravel/framework/pull/24038

更新

:Laravel 5.5.41 已发布。


3
投票

文档:

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html


2
投票

'modes' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ],



1
投票

这样5.7的备份将在8.0中恢复正常


1
投票

'modes' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ],
© www.soinside.com 2019 - 2024. All rights reserved.