Dies spricht über die Änderungen, die seit 8.0 stattgefunden haben. Einer der Punkte, auf die Sie sich beziehen können, ist dieser:
Daher unterscheiden sich der Standardzeichensatz und die Sortierung für neue Objekte von der vorherigen, es sei denn, es wird ein expliziter Zeichensatz und eine Sortierung angegeben. Dazu gehören Datenbanken und darin enthaltene Objekte wie Tabellen, Ansichten und gespeicherte Programme.
Eine Möglichkeit, die vorherigen Standardeinstellungen beizubehalten, besteht darin, den Server mit diesen Zeilen in my.cnf
zu starten Datei:
[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci
Da Sie Docker ausführen, besteht eine weitere Option darin, diese Konfigurationsoptionen als Befehlszeilenargumente für den Befehl „docker run“ anzugeben. Zum Beispiel:
docker run -d \
--network my-net \
-h mysqldb \
--name mysqldb \
-p 3306:3306 \
-e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=admin \
-e "MYSQL_PASSWORD=admin" \
mysql:8 --character-set-server=latin1 --collation-server=latin1_swedish_ci
Wenn Sie auf dem Client Änderungen vornehmen möchten, sollten diese hoffentlich ausreichen:
Um 4-Byte-UTF-8-Zeichensätze mit Connector/J zu verwenden, konfigurieren Sie den MySQL-Server mit character_set_server=utf8mb4
, und verlassen Sie characterEncoding
aus der Connector/J-Verbindungszeichenfolge.
Connector/J erkennt dann automatisch UTF-8
Einstellung
Hoffe, das hilft!