[RAILS] Ich war süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren. My.cnf-Konfigurationsproblem

Überblick

スクリーンショット 2020-10-22 12.39.42.png

Wir entwickeln hier Rails-Apps. Wenn Sie jedoch eine Web-App entwickeln, wissen Sie, ob dieser Fehler auftritt.

this is incompatible with sql_mode=only_full_group_by

Die Details des Problems werden in verschiedenen Artikeln erläutert. Lesen Sie daher bitte die folgenden Artikel. Dieses Mal ** war ich süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren.

Umgebung

$ mysql --version
mysql  Ver 8.0.21 for Linux on x86_64 (MySQL Community Server - GPL)

Phänomen

Die Einstellungen von mysqld sind die Inhalte, die unter Bezugnahme auf den obigen Artikel festgelegt wurden. Dann ist der folgende Fehler aufgetreten.

$ mysql --help | grep my.cnf
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
$ sudo vi /etc/my.cnf

---
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
---

$ systemctl restart mysqld.service
Failed to restart mysqld.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files

$ sudo systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code)seit Baum 2020-10-22 03:50:33 UTC; 27s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 8909 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 8885 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 8909 (code=exited, status=1/FAILURE)
   Status: "Server startup in progress"
    Error: 2 (No such file or directory)
22. Oktober 03:50:32 xxx-xxx-xxx-xxx.yyyyy.zzz systemd[1]: Starting MySQL Server...
22. Oktober 03:50:33 xxx-xxx-xxx-xxx.yyyyy.zzz systemd[1]: mysqld.service: main process exited, code=exited, status=1/FAILURE
22. Oktober 03:50:33 xxx-xxx-xxx-xxx.yyyyy.zzz systemd[1]: Failed to start MySQL Server.
22. Oktober 03:50:33 xxx-xxx-xxx-xxx.yyyyy.zzz systemd[1]: Unit mysqld.service entered failed state.
22. Oktober 03:50:33 xxx-xxx-xxx-xxx.yyyyy.zzz systemd[1]: mysqld.service failed.

$ sudo less /var/log/mysqld.log
...
2020-10-22T03:50:33.416784Z 0 [ERROR] [MY-000077] [Server] /usr/sbin/mysqld: Error while setting value 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2020-10-22T03:50:33.416979Z 0 [ERROR] [MY-010119] [Server] Aborting

Ursache

Das von mir verwendete MySQL war 8.0 und es war ein Problem, das durch die Verwendung mit einem 5.7-Gefühl ohne besondere Bedeutung von Sweat verursacht wurde In MySQL 8.0 hat sich der Inhalt von sql_mode teilweise von 5.7 geändert, und diesmal war ich süchtig nach der Tatsache, dass NO_AUTO_CREATE_USER gelöscht wurde.

Bewältigung

Nachdem die folgenden Einstellungen mit "NO_AUTO_CREATE_USER" entfernt wurden, wurde MySQL erfolgreich gestartet und der Übersichtsfehler behoben.

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Recommended Posts

Ich war süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren. My.cnf-Konfigurationsproblem
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Eine Geschichte, nach der ich süchtig war, als ich einen Schlüssel bekam, der automatisch auf MyBatis ausprobiert wurde
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
Ich war süchtig danach, sbt zu starten
Ein Hinweis, als ich süchtig danach war, Ubuntu auf WSL1 in WSL2 zu konvertieren
Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte
Über die Sache, dass ich süchtig danach war, wie man Hashmap benutzt
[Rails] So lösen Sie ActiveSupport :: MessageVerifier :: InvalidSignature, von dem ich bei der Einführung des Twitter-Logins abhängig war [ActiveStorage]
Ich war süchtig danach, in @ SpringApplicationConfiguration-> @SpringBootTest umzuschreiben
Ich war süchtig nach der Rollmethode
Ich war süchtig nach dem Spring-Batch-Test
Memorandum: Wovon ich süchtig war, als ich auf die Accounting Freee API traf
[Rails] Ich war süchtig nach den Nginx-Einstellungen, als ich Action Cable verwendete.
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
[Circle CI] Ich war süchtig nach dem automatischen Test von Circle CI (Rails + MySQL) [Memo]
Ich war süchtig nach RXTX mit Sierra
Ich war süchtig danach, onActivityResult () mit DialogFragment zu machen
Wovon ich süchtig war, als ich eine Spring Boot-Anwendung mit VS Code entwickelte
Eine Seite, die leicht zu verstehen war, als ich anfing, Spring Boot zu lernen
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Wie man Arrays mit Java stapelweise initialisiert, wusste ich als Anfänger nicht
Ich war süchtig nach WSl, als ich versuchte, mit Vue.js eine Entwicklungsumgebung für Android-Anwendungen zu erstellen
Wovon ich süchtig war, als ich rspec auf Schienen benutzte
Ich war süchtig danach, default_url_options mit der Einführung von Rails zu setzen
Ich war süchtig danach, die Update-Anweisung in MyBatis zu wiederholen
Ich war süchtig nach Laradock + VSCode + xdebug
Was ich mit der Redmine REST API süchtig gemacht habe
Ich war seltsamerweise süchtig danach, Javas Stream-API mit Scala zu verwenden
[Circle CI] Eine Geschichte, der ich bei Start Building verfallen war
Ich war süchtig nach der API-Version min23 von registerTorchCallback
Ich konnte die Docker + Laravel + MySQL App für Heroku bereitstellen!
Eine Geschichte, der ich mit der automatischen Starteinstellung von Tomcat 8 unter CentOS 8 zweimal verfallen war