Creez un nou server cu instrumentul mysql_install_db. Setează datele corecte, portul, parola, serviciul etc. Dar problema mea este că setul de caractere și colaţionarea tabelelor mele de bază sunt greşite. Ele trebuie să fie utf8mb4 și utf8mb4_general_ci.
Nu găsesc o modalitate de a schimba aceste tabele cu instalarea. Când schimb my.cnf/my.ini, se schimbă doar pentru bazele de date nou create. Dar, deoarece mysql_install_db creează bazele de date de sistem, acestea sunt create greșit.
De asemenea, se pare că msyql_install_db.exe meu nu acceptă un argument de fișier implicit.
Altceva este, de asemenea, ciudat. Dacă rulez comanda pentru a crea o nouă bază de date, va folosi și utf8mb3 în timp ce am setat în mod explicit COLLATE la utf8mb4_unicode_ci.
CREAȚI BAZĂ DE DATE DACĂ NU EXISTĂ tt SET DE CARACTERE IMPLICIT utf8mb4 COLLATE utf8mb4_unicode_ci
Folosesc mariadb 10.6.4, care este cea mai recentă versiune.
Știe cineva cum să configureze setul corect de caractere și colaţionarea în bazele de date ale sistemului?
Instrumente\mariadb-winx64\bin\mysql_install_db.exe --datadir="Instrumente\mariadb-data" --password=PAROLA --port=8137 --service=MyDB
[Actualizați]
Am încercat să configurez my.cnf cu următoarele, dar pare să nu aibă efect: https://stackoverflow.com/questions/3513773/change-mysql-default-character-set-to-utf-8-in-my-cnf
De asemenea, am încercat să folosesc o modalitate diferită cu inițializare-nesigură, dar și aceleași rezultate. Am creat un my.cnf cu codificarea corectă, dar tot am primit codificarea tabelului greșit:
mariadb-winx64\bin\mariadbd.exe --defaults-file=./my.cnf --initialize-insecure --datadir=./Test
Și my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
skip-grant-tables
port = 5137
collation-server = utf8mb4_unicode_ci
init-connect='SETĂ NUMELE utf8mb4'
set de caractere-server = utf8mb4