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
[업데이트]
다음을 사용하여 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
'programing' 카테고리의 다른 글
종료된 도커 컨테이너를 계속하는 방법 (0) | 2023.08.11 |
---|---|
두 테이블 합계 계산 방법 (0) | 2023.08.11 |
MySQL Server 버전 10.3.9-MariaDB에서 텍스트에 따옴표가 하나 있는 경우 쿼리할 수 없음 (0) | 2023.08.11 |
UIView 계층에 대한 내부 그림자 효과? (0) | 2023.08.11 |
CSS에서 "워드-브레이크:브레이크-올"과 "워드-랩:브레이크-워드"의 차이점은 무엇입니까? (0) | 2023.08.11 |