반응형
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
반응형
'programing' 카테고리의 다른 글
쿼리를 거의 완전히 구성할 수 있는 경우 SQL 주입 제한 (0) | 2022.10.05 |
---|---|
Spring Integration을 사용하는 시기와낙타? (0) | 2022.10.05 |
연산자로서의 'AND' vs '&' (0) | 2022.10.05 |
암호 프롬프트 없이 Ubuntu에 MySQL 설치 (0) | 2022.10.05 |
Python 클래스의 메서드 목록을 가져오려면 어떻게 해야 합니까? (0) | 2022.10.05 |