Dit vertelt over de veranderingen die sinds 8.0 zijn gebeurd. Een van de punten die zijn genoemd om naar te verwijzen, is dit:
Als gevolg hiervan verschillen de standaardtekenset en sortering voor nieuwe objecten van voorheen, tenzij een expliciete tekenset en sortering zijn opgegeven. Dit omvat databases en objecten daarin, zoals tabellen, weergaven en opgeslagen programma's.
Een manier om de vorige standaardinstellingen te behouden, is door de server te starten met deze regels in my.cnf
bestand:
[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci
Een andere optie, aangezien u docker gebruikt, is om deze configuratie-opties op te geven als opdrachtregelargumenten voor de opdracht docker run. Bijvoorbeeld:
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
Op de client, als u wijzigingen wilt aanbrengen - hopelijk zouden deze moeten volstaan:
Om 4-byte UTF-8-tekensets met Connector/J te gebruiken, configureert u de MySQL-server met character_set_server=utf8mb4
, en laat characterEncoding
uit de Connector/J-verbindingsreeks.
Connector/J zal dan automatisch de UTF-8
. detecteren instelling
Ik hoop dat dit helpt!