programing

mysqladmin을 사용하여 데이터베이스 문자 집합을 설정하는 데 문제가 발생했습니다.

stoneblock 2023. 6. 23. 21:42

mysqladmin을 사용하여 데이터베이스 문자 집합을 설정하는 데 문제가 발생했습니다.

셸 명령 프롬프트에서:

mysqladmin -u"username" -p"password" --default-character-set=utf8 CREATE my_db_schema

--default-character-set=utf8아무 효과도 없는 것 같고 왜 그런지 이해할 수가 없습니다.

데이터베이스는 생성되지만 문자 집합은latin1대조하여latin1_swedish_ci.

동일한 문제인 것처럼 보이는 이 질문을 찾았지만, 선택한 답변이 제시한 대로 루트 사용자가 아닌 사용자를 시도해도 동일한 동작이 발생합니다.

(차이가 있다면 Windows와 MariaDB를 사용하고 있습니다.)


이 mysqladmin을 사용해 보았습니다.exe 클라이언트:

  1. 기본 문자 집합이 있는 Win32(ia32)용 MariaDB 5.3.2latin1 (no.ini)
  2. 기본 문자 집합이 있는 Linux-gnu(i686)용 MySQL 5.0.77utf8

두 경우 모두,--default-character-set=utf8또는--default-character-set=latin1MySQL 서버의 .ini/.cnf 설정을 재정의하지 마십시오.

해결 방법으로 다음을 실행하는 것이 좋습니다.

echo "CREATE DATABASE my_db_schema DEFAULT CHARACTER SET utf8" | mysql -uusername -ppassword

--default-character-set=utf8아무 효과도 없는 것 같고 왜 그런지 이해할 수가 없습니다.

데이터베이스는 생성되지만 문자 집합은latin1대조하여latin1_swedish_ci.

이 옵션은 데이터베이스, 테이블 또는 열을 만들 때 해당 데이터베이스의 문자에 영향을 주지 않습니다.

default-character-set서버에 대한 연결의 문자 집합입니다. 데이터베이스에서 선택한 값을 표시하기 위해 올바른 인코딩으로 클라이언트에 전달합니다.

표면적으로는 mysqladmin 버그로 보입니다.저는 마리아 DB 개발자들에게 그것에 대해 알릴 것입니다.

http://kb.askmonty.org/en/reporting-bugs 에는 버그 보고에 대한 일반적인 지침이 있습니다(Windows에서는 사용할 수 없기 때문에 mysqlbug 스크립트를 사용하는 것에 대한 자세한 내용이 나와 있습니다).

추신. 그리고 MariaDB에 버그가 존재한다면 MySQL에도 버그가 존재할 가능성이 높습니다.

언급URL : https://stackoverflow.com/questions/9825128/problems-setting-database-character-set-using-mysqladmin