我刚刚安装了 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 8.0.11
运行 laravel 5.5
?
最佳答案
你的 laravel 连接(config/database.php)应该是这样的:
'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',
],
],
关于mysql - Laravel 5.5 与 MySQL 8.0.11 : 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50068663/