programing

Mysql 변환 테이블, 조회가 변경되지 않음

itsource 2022. 10. 5. 23:40
반응형

Mysql 변환 테이블, 조회가 변경되지 않음

mariadb(10.1.20-MariaDB-1~trusty)를 utf8mb4와 함께 사용하고 있습니다.이제 모든 테이블을 "row_format = dynamic" 및 테이블 정렬 "utf8mb4_dynamic_ci"로 변환하는 중입니다.데이터베이스에는 다음과 같은 "utf8mb4_general_ci"가 조합으로 남아 있는 악성 테이블이 몇 개 있습니다.

데이터베이스 사용

대조!= "utf8mb4_ci";

    | Name                       | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation          | Checksum | Create_options     | Comment |
+----------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+--------------------+---------+
| table                    | InnoDB |      10 | Dynamic    |    5 |           3276 |       16384 |               0 |        32768 |         0 |           NULL | 2016-12-21 21:12:18 | NULL        | NULL       | utf8mb4_general_ci |     NULL | row_format=DYNAMIC |  

그럼 당연히 이런 식으로 운영하죠

ALTER 테이블에서 문자 집합 utf8mb4 COLATE utf8mb4_unicode_ci로 변환;

그것은 무사히 끝날 것이다.나중에 다시 테이블 상태 확인 중, 계속 읽음

대조 = utf8mb4_general_ci

그 테이블에서요

동일한 데이터베이스를 로컬 5.6.32-78.0 Percona 서버에 덤프하여 Import하고 동일한 작업을 수행하면 테이블 조회가 원하는 대로 utf8mb4_unicode_ci로 변환됩니다.

그 원인이 무엇인지 짐작 가는 사람 있나요?

변환할 열이 테이블에 없을 가능성이 높기 때문에 작업을 건너뜁니다.도망가려고 하다

ALTER TABLE table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, FORCE;

또는

ALTER TABLE table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, ALGORITHM=COPY;

다음 질문에 따라 오류 보고서가 작성되었습니다.https://jira.mariadb.org/browse/MDEV-11637

언급URL : https://stackoverflow.com/questions/41280332/mysql-convert-table-collation-not-changing

반응형