詳細検索

old_password MySQL 5.6 복제에서는 거부됩니다

아바타
글쓴이 komi
3분 읽기

old_password MySQL 5.6 복제에서는 거부됩니다
日本語에서 번역 • 원문 보기

안녕하세요. 코미야입니다.

동료 유오에게 배운 정보를 게시하겠습니다.

[mysql 5.6 복제 명세 변경 이야기]

특정 환경에서 완전히 덤프된 SQL을 mysql5.5로 5.6에 넣고, diff 데이터를 5.5→5.6으로 복제하려고 했지만, 복제가 불가능한 증상이 나타났습니다.

그 후 mysql을 재시작하고 '슬레이브 중지'로 복제를 다시 붙여넣어 mysql 5.6 설정을 검토하려 했지만, 이번에는 5.6 환경 간에 복제를 붙여넣을 수 없었습니다.

그 이유는 'secure_auth' 명세가 mysql 5.6에서 변경되었기 때문에, 클라이언트([mysql]) 설정에서 'skip-secure-auth'가 설정되어 있어도 복제 IO 시에는 'old_password'(16자리 비밀번호)가 거부되어 복제 자체를 시작할 수 없습니다. 상태('슬레이브 상태 표시\G')는 다음과 같습니다.

------------------------------- 
・・・ 
Slave_IO_Running: 연결
Slave_SQL_Running: 네
・・・ 
Last_IO_Errno: 2049년
Last_IO_Error: 마스터 'repl@172.17.xx.xx:3306'에 연결 오류 - 재시도 시간: 60회 재시도: 1회
Last_SQL_Errno: 0
Last_SQL_Error:  
・・・ 
------------------------------- 

해결책으로, 고객의 허락을 받아 MySQL 5.5와 5.6 환경 모두에 대해 새로운 보안 복제 계정을 만들고 복제를 붙여넣었습니다. 안전한('old_password'이 아닌) 경로를 만드는 방법은 다음과 같습니다:

------------------------------- 
세션 old_passwords = 0을 설정; 
복제 클라이언트를 부여하고, *.*의 복제 슬레이브를 'newrepuser'@'172.17.xxx.%'로 식별하며, 'xxxxxxxxxxxxxx'로 식별됨; 
------------------------------- 

mysql5.6으로 데이터를 이전하고 싶을 때 상담을 받으셨다면, 비밀번호의 숫자 수를 꼭 확인하세요. 그게 바로 의미하는 바입니다.

참고: 일일 메모: MySQL 5.6 및 MySQL 5.0 복제의 I/O 스레드 오류: 2049 yoku0825님의 정보 덕분에 한밤중에 전화하지 않아도 되어 다행입니다. 감사합니다.

시청해 주셔서 감사합니다.

Related Articles