To mówi o zmianach, które zaszły od wersji 8.0. Jednym z punktów, które wymieniono, jest to:
W rezultacie domyślny zestaw znaków i sortowanie dla nowych obiektów różnią się od poprzednich, chyba że określono jawny zestaw znaków i sortowanie. Obejmuje to bazy danych i znajdujące się w nich obiekty, takie jak tabele, widoki i zapisane programy.
Jednym ze sposobów zachowania poprzednich ustawień domyślnych jest uruchomienie serwera z tymi wierszami w my.cnf
plik:
[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci
Inną opcją, ponieważ używasz platformy docker, jest określenie tych opcji konfiguracyjnych jako argumentów wiersza polecenia w poleceniu docker run. Na przykład:
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
Po stronie klienta, jeśli chcesz dokonać zmian - miejmy nadzieję, że powinny wystarczyć:
Aby używać 4-bajtowych zestawów znaków UTF-8 z Connector/J, skonfiguruj serwer MySQL za pomocą character_set_server=utf8mb4
i pozostaw characterEncoding
z ciągu połączenia Connector/J.
Connector/J automatycznie wykryje UTF-8
ustawienie
Mam nadzieję, że to pomoże!