programing

mysql_install_db 잘못된 문자 집합 및 정렬

minimums 2023. 8. 11. 21:38
반응형

mysql_install_db 잘못된 문자 집합 및 정렬

mysql_install_db 도구로 새 서버를 만들고 있습니다.올바른 데이터디르, 포트, 암호, 서비스 등을 설정합니다.하지만 저의 문제는 기본 테이블의 문자 집합과 조합이 잘못되었다는 것입니다.이러한 값은 utf8mb4 및 utf8mb4_general_ci여야 합니다.

설치로 이 테이블들을 변경할 방법을 찾을 수 없습니다.my.cnf/my.ini를 변경하면 새로 생성된 데이터베이스에 대해서만 변경됩니다.그러나 mysql_install_db가 시스템 데이터베이스를 생성하므로 잘못 생성됩니다.

또한 my msysql_install_db.exe가 defaults-file 인수를 수락하지 않는 것 같습니다.

다른 것도 이상합니다.명령을 실행하여 새 데이터베이스를 만들면 utf8mb3도 사용되며 COLLATE를 명시적으로 utf8mb4_unicode_ci로 설정합니다.

CREATE DATABASE IF NOT EXISTS tt DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

저는 최신 버전인 mariadb 10.6.4를 사용하고 있습니다.

시스템 데이터베이스에 올바른 문자 집합과 데이터 집합을 설정하는 방법을 아는 사람?

Tools\mariadb-winx64\bin\mysql_install_db.exe --datadir="Tools\mariadb-data" --password=PASSWORD --port=8137 --service=MyDB

enter image description here

[업데이트]

다음을 사용하여 my.cnf를 설정하려고 했지만 효과가 없는 것 같습니다. my.cnf에서 MySQL 기본 문자 집합을 UTF-8로 변경하시겠습니까?

또한 insecure 초기화와 함께 다른 방법을 사용했지만 동일한 결과도 사용했습니다.올바른 인코딩으로 my.cnf를 만들었지만 잘못된 테이블 인코딩을 받았습니다.

mariadb-winx64\bin\mariadbd.exe --defaults-file=./my.cnf --initialize-insecure --datadir=./Test

그리고 저의.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 NAMES utf8mb4'
character-set-server = utf8mb4

언급URL : https://stackoverflow.com/questions/69132293/mysql-install-db-wrong-charset-and-collation

반응형