tencent cloud

TencentDB for MySQL

소식 및 공지 사항
제품 동향
신규 사용자 가이드
제품 소개
제품 개요
제품 장점
응용 시나리오
데이터베이스 아키텍처
격리 정책
제품 기능 목록
데이터베이스 인스턴스
고가용성(멀티 가용존)
리전 및 가용존
자체개발 커널
TXSQL 커널 개요
기능적 특성
성능적 특성
보안적 특성
안정적 특성
구매 가이드
과금 개요
구매 방법
연장 안내
연체 안내
환불 안내
인스턴스 비용 조정 설명
백업 공간 과금 안내
시작하기
시작 개요
MySQL 인스턴스 생성
운영 가이드
사용 제한
운영 개요
인스턴스의 점검 관리
인스턴스 프로모션
인스턴스 확장
데이터베이스 프록시
데이터베이스 관리(DMC)
계정 관리
매개변수 설정
백업과 롤백
데이터 마이그레이션
네트워크 및 보안
모니터링 및 알람
로그 센터
태그
사례 튜토리얼
TencentDB for MySQL의 사용 규범
애플리케이션 구성 자동 재연결
MySQL 마스터 인스턴스 매개변수 수정의 영향
MyISAM에서 InnoDB로의 자동 변환 제한
TencentDB for MySQL을 위한 VPC 생성
TencentDB for MySQL를 통해 비즈니스 부하 능력 향상
2리전 3데이터센터 재해 복구 아키텍처 구축
읽기/쓰기 분리로 TencentDB for MySQL 성능 향상
DTS를 사용하여 InnoDB에서 RocksDB로 데이터 마이그레이션
웹 애플리케이션을 위한 LAMP 스택 구축
Drupal 웹사이트 구축
Python을 통해 MySQL API 사용
백서
성능 백서
보안 백서
장애 처리
연결 관련
성능 관련
인스턴스 데이터 동기화 딜레이
케이스 인센시티브 설정 실패
API문서
History
Introduction
API Category
Instance APIs
Making API Requests
Data Import APIs
Database Proxy APIs
Database Audit APIs
Security APIs
Task APIs
Backup APIs
Account APIs
Rollback APIs
Parameter APIs
Database APIs
Monitoring APIs
Log-related API
Data Types
Error Codes
FAQs
과금 관련
백업 관련
롤백 관련
로그인
매개변수 수정
업그레이드 관련
계정 권한
성능 메모리
유지보수 관련 FAQ
데이터 마이그레이션
기능 특징
콘솔 관련
로그 관련
API 2.0에서 3.0으로 전환 가이드
Service Agreement
Service Level Agreement
Terms of Service
범용 참고
표준 및 인증
고객센터
용어집
문서TencentDB for MySQLFAQs유지보수 관련 FAQ

유지보수 관련 FAQ

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2026-02-05 10:49:13

TencentDB for MySQL에서 pt-online-schema-change 사용에 대한 문제

TencentDB for MySQL5.6 버전은 Online DDL을 지원하게 되었습니다. 5.5 버전으로 테이블 구조 변경 시 테이블 잠금으로 인해 비즈니스에 영향을 주지 않도록 계속해서 pt-online-schema-change 등 오픈 소스 툴로 해당 조작을 완료할 것을 권장하였지만, 사용자가 CVM을 통해 pt-online-schema-change를 사용해 MySQL 테이블 구조를 변경하는 과정에서 적잖은 문제가 발생하고 있습니다.
자주 발생하는 오류 정보: Use of uninitialized value $host in string eq at /usr/local/percona-toolkit-3.0.3/bin/pt-online-schema-change line 4284.
상응하는 소스 코드 보기:
sub _find_slaves_by_processlist {
my ( $self, $dsn_parser, $dbh, $dsn ) = @_;

my @slaves = map {
my $slave = $dsn_parser->parse("h=$_", $dsn);
$slave->{source} = 'processlist';
$slave;
}
grep { $_ }
map {
my ( $host ) = $_->{host} =~ m/^([^:]+):/;
if ( $host eq 'localhost' ) {
$host = '127.0.0.1'; # Replication never uses sockets.
}
$host;
} $self->get_connected_slaves($dbh);

return @slaves;
}
코드상에서 보면 processlist 방식으로 standby 정보를 찾을 때, TencentDB에서 계정 복제 관련 정보에 대해 처리함에 따라 processlist로 standby 정보를 획득하지 못한 상황입니다.
복구 방식:
pt-osc를 사용할 때 아래와 같은 매개변수를 추가해 standby 의 상태를 확인하지 않도록 합니다.
--recursion-method=none

TencentDB 데이터 가져오기 시 Specified key was too long 오류 메시지

오류 발생 원인: 사용자가 CVM 명령 라인으로 XXXX.sql 파일을 MySQL로 가져올 때, MySQL에 Specified key was too long이라는 오류 메시지가 출력됩니다. "ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes"라고 출력되는 오류 메시지는 "인덱스 필드의 길이가 767bytes를 초과해 너무 깁니다."라는 뜻입니다.
innodb 스토리지 엔진, 멀티 칼럼 인덱스의 길이 제한은 다음과 같습니다. 각 칼럼의 길이는 767bytes를 초과할 수 없으며, 모든 결합 인덱스 칼럼의 총 길이는 3072bytes를 초과할 수 없습니다.
myisam 스토리지 엔진, 멀티 칼럼 인덱스 길이 제한은 다음과 같습니다. 각 칼럼의 길이는 1000bytes를 초과할 수 없으며, 모든 결합 인덱스 칼럼의 총 길이는 1000bytes를 초과할 수 없습니다.
설명:
768 / 2 = 384개 2바이트 또는 767 / 3 = 255개 3바이트의 필드(GBK는 2바이트이고 UTF8는 3바이트, UTF8MB4는 4바이트)
MySQL 5.6 이상 버전의 모든 myisam 테이블은 모두 innodb로 자동 전환됩니다. 따라서, 자체 구축한 데이터베이스에 767bytes를 초과한 결합 인덱스 칼럼이 있을 경우, 자체 구축한 라이브러리에서는 myisam 스토리지 엔진으로 인해 테이블 생성 명령을 정상적으로 실행할 수 있지만 MySQL 5.6 버전 이상에서는 문제가 발생할 수 있습니다.
솔루션
1. 백업 파일에서 오류가 발생한 행의 결합 인덱스 칼럼 길이를 수정합니다. 흔히 보는 사례: create table test(test varcahr(255) primary key)charset=utf8; -- 성공 create table test(test varcahr(256) primary key)charset=utf8; -- 실패 ERROR 1071(42000):Specified key was too long; max key length is 767 bytes
2. TencentDB 5.5 버전을 사용하면 myisam 엔진이 innodb로 자동 전환되지 않습
니다
.

select * from XX into outfile xxxx라고 오류 메시지가 뜨는 원인은 무엇인가요?

플랫폼의 보안성 문제로 file 권한 활성화 및 select into outfile 방식으로 데이터 내보내기를 지원하지 않습니다. 기타 방식으로 내보내시기 바랍
니다
.

MySQL 데이터베이스에 emoji 이모티콘을 삽입할 때 깨짐 현상이 있을 때는 어떻게 해야 하나요?

MySQL 인스턴스 내부, 클라이언트와 MySQL의 인스턴스 연결 등 3가지 방면에 대해 진단하고 모두 utf8mb4 문자 세트를 사용 또는 지원하는지 확인합니다. MySQL 인스턴스에서 스토리지 emoji 이모티콘을 사용하려면 MySQL 내부, 클라이언트와 MySQL의 인스턴스 연결 3가지 방면에 대해 진단하고 모두 utf8mb4 문자 세트를 사용 또는 지원하는지 확인합니다.
1. 우선 MySQL 인스턴스의 문자 세트를 utf8mb4로 설정한 후, 콘솔에 로그인하여 character_set_server 매개변수를 수정합니다.
주의:
해당 매개변수를 수정하면 데이터베이스가 재시작되므로, 사전에 데이터베이스를 백업해 두어 데이터 손실이 없도록 해주시기 바랍니다.
2. 사용자의 프로그램 클라이언트는 출력된 문자열의 문자 세트가 utf8mb4이도록 보장해야 합니다.
3. 응용 프로그램의 연결 생성은 지정된 문자 세트를 실행해야 합니다. 흔히 사용하는 jdbc 연결을 예로 듭니다. jdbc 연결을 하려면 MySQL Connector/J 5.1.13(포함) 이상의 버전을 사용해야 합니다. 예시 코드는 다음과 같습니다.
String query = “set names utf8mb4”;
stat.execute(query);


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백