http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
mysql my파일과 …
mysql server 설…
Can't open and l…
듀얼마스터 구성 …
PREPARE 사용시 …
 
질문과 답변 (DBA) > 커뮤니티 존 > 질문과 답변 (DBA)
PREPARE 사용시 한글 깨지는 현상 해결하신분 계실까요?
글쓴이 : 반화넬   날짜 : 19-02-08 10:32   조회수 : 1173

euckr 서버 2대 Master, Slave가 있습니다.
PREPARE 사용하여 기록할때 변수방식에 따라서인지 복제에 data 도달시 한글이 깨지는
문제가 발생하였습니다.
혹시 원인 아시는분 계실까요 ?
버젼 : 5.6.36 입니다.


# 복제서버에서 한글 깨짐

DELIMITER $$
USE c_test$$
DROP PROCEDURE IF EXISTS p_test$$
CREATE  PROCEDURE p_test(
memCont varchar(300)
)
    MODIFIES SQL DATA
    COMMENT 'test'
BEGIN
 set @memCont = memCont;
 SET @stmt := CONCAT("INSERT INTO TB (mem_cont) VALUES (?);");
 PREPARE stmt FROM @stmt;
 EXECUTE stmt USING @memCont;
 DROP PREPARE stmt; 
  
END$$
DELIMITER ;

# 복제서버에서 한글 안깨짐

DELIMITER $$
USE c_test$$
DROP PROCEDURE IF EXISTS p_test$$
CREATE  PROCEDURE p_test(
memCont varchar(300)
)
    MODIFIES SQL DATA
    COMMENT 'test'
BEGIN
 set @memCont = memCont;
 SET @stmt := CONCAT("INSERT INTO TB (mem_cont) VALUES ('",memCont,"');");
 PREPARE stmt FROM @stmt;
 EXECUTE stmt;
 DROP PREPARE stmt; 
  
END$$
DELIMITER ;
royster
버전 5.6.36 euckr 동기화 환경 시스템이 없어서
대신 5.5.24 ecukr 동기화 환경에서 테스트 해본 결과 slave측 한글 깨짐 현상은 발견하지 못했습니다.
테스트 환경의 binlog_format 은 MIXED 입니다.
5.6.x 의 binlog_format 기본값은 statement 로 기억합니다.

call p_test('양택조');
call p_test2('최불암');

2019.01.21에 릴리즈 된 5.6 최신 버전인  5.6.43 으로 업그레이드 해보심이 어떨련지요
이전글 듀얼마스터 구성 시 일부 테이블 데이터 동기화가 안되었을 시 조치 방법 
다음글 mariadb replication 시 시간 차이에 대해 문의드립니다.(한국시간인데 UTC로 보이는 문제) 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.