dbwebb-se / databas

Course repo for database course (dbw).
Other
4 stars 2 forks source link

Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' #20

Open mosbth opened 3 years ago

mosbth commented 3 years ago

När rättaren försöker ladda in en backupfil till MySQL kan det hända att följande fel inträffar. Backupfilen är vanligen då genererad från mysqldump (MySQL/MariaDB) med tidigare versioner (< MySQL 8.0).

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

Problemet är relaterat till hur backupfilen skapas av mysqldump och det är ett beteende som inte är kompatibelt mellan MySQL 5.7 och 8.0 och det påverkar även MariaDB (troligen 10.1 - 10.3 som motsvarar MySQL 5.7).

Detta problemet är beskrivet i foruminlägget "SQL backupfiler kompabilitet 5.7 och 8.0 (triggers)": https://dbwebb.se/t/8381

Rättaren brukar lösa det genom att göra find-replace på "NO_AUTO_CREATE_USER" (ta bort den) och därefter rätta om inlämningen. Missa inte att även efterföljande kommatecken kan behöva tas bort.

Buggen verkar vara beskriven här: https://bugs.mysql.com/bug.php?id=90624