2014-11-01 1 views
2

나는 MySQL의 복제 ansible MySQL의 복제 모듈을 설정하지만, 실패있어 해요 :'SSL/TLS가없는 일반 텍스트로 비밀번호를 보내는 것은 극도로 안전하지 않습니다.'때문에 마스터를 변경할 수 없습니다.

TASK: [mysql | change the master in slave to start the replication] *********** 
failed: [mysql-master-1] => {"failed": true, "parsed": false} 
invalid output was: Change master 
Traceback (most recent call last): 
File "/root/.ansible/tmp/ansible-tmp-1414844287.9-261276925072204/mysql_replication", line 1714, in <module> 
main() 
File "/root/.ansible/tmp/ansible-tmp-1414844287.9-261276925072204/mysql_replication", line 351, in main 
changemaster(cursor,chm) 
File "/root/.ansible/tmp/ansible-tmp-1414844287.9-261276925072204/mysql_replication", line 164, in changemaster 
cursor.execute("CHANGE MASTER TO " + SQLPARAM) 
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 175, in execute 
if not self._defer_warnings: self._warning_check() 
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 89, in _warning_check 
warn(w[-1], self.Warning, 3) 
_mysql_exceptions.Warning: Sending passwords in plain text without SSL/TLS is extremely insecure. 

인프라가 정비 :

target servers:centos 6.4 
ansible: 1.7.2 
mysqldb:5.6.12-1.el6.x86_64 

플레이 북 :

- name: change the master in slave to start the replication 
    mysql_replication: > 
    mode=changemaster 
    master_host={{ mysql_master_host }} 
    master_user={{ mysql_repl_user }} 
    master_password={{ mysql_repl_password }} 

내가 설정 시도를 수동으로 복제, 작동 :

mysql>change master to 
    >master_host='mysql-master-1' 
    >master_user='repl_user' 
    >master_password='123456'; 

mysqldb 파이썬 모듈이 명령을 구문 분석하지 못하는 것 같습니다. 어떻게 ssl 복제를 사용하지 않고이 문제를 해결할 수 있습니까?

UPDATE 나는 고정 된 사실, 문제 거짓에서 _defer_warning 변경하여 "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py"의 소스 파일을 수정했습니다. 그러나 더 우아한 솔루션이 있습니까? 두 개의 추가 옵션

+0

메시지가 나타내는대로 오류가 발생했습니다. TLS를 사용하여 마스터에 연결 하시겠습니까? – EJP

+1

@EJP 감사합니다. 하지만 여러 편의 게임을 읽었으며 TLS도 사용하지 않습니다. 나는 내가 뭘 잘못했는지 궁금 하네. – Hippoom

+0

동일한 문제가 있습니다. 수정 사항을 찾았습니까? – blacksoul

답변

관련 문제