두 머신의 IP 주소가 머신 1: 192.168.14.37 머신 2: 192.168.14.38이고 서버가 linux Rhel 5.9
두 머신에서 create user 문을 실행한다고 가정합니다. 서버:
mysql:>create user 'repl'@'%' identified by '135246'; -- 创建用户 repl 密码 135246
로그인 후 복사
서버 1 실행:
mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.38' identified by '135246'; -- 授权服务器一可以远程访问服务器二
로그인 후 복사
서버 2 실행:
mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.37' identified by '135246'; -- 授权服务器二可以远程访问服务器一
로그인 후 복사
확인(프롬프트에 따라 비밀번호 입력):
서버 1에서 서버 2에 연결
mysql -h 192.168.14.38 -u repl -p
로그인 후 복사
서버 2에서 서버 1에 연결
mysql -h 192.168.14.37 -u repl -p
로그인 후 복사
Mysql 보기:
첫 번째:vi /etc/my.cnf
서버 1에 다음 내용을 추가합니다.
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] server_id = 1 log-bin character-set-server=utf8 #表名不区分大小写 lower_case_table_names=1 #server_id = 1 # uniquely identify 从为2 show master status
로그인 후 복사
서버 1과 서버 2의 MASTER_LOG_FILE 및 MASTER_LOG_POS 정보를 얻을 수 있습니다.
假设服务器一为 " localhost-bin.000004" 和 "120" 服务器二为 " localhost-bin.000005" 和 "667"
로그인 후 복사
서버 1에서 실행:
stop slave; CHANGE MASTER TO MASTER_HOST = '192.168.14.38', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000004', MASTER_LOG_POS = 120; start slave;
로그인 후 복사
서버 2에서 실행:
stop slave; CHANGE MASTER TO MASTER_HOST = '192.168.14.37', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000005', MASTER_LOG_POS = 667; start slave;
로그인 후 복사
마지막으로 마스터를 확인합니다. -master 동기화 성공 여부:
서버 1 mysql에 테이블 example
mysql:> create database example1 ; use example1; create table example1 (length int);
로그인 후 복사
을 추가합니다
마지막으로 서버 2에 이 데이터베이스, 이 테이블, 이 데이터가 있는지 확인합니다.show slave status G
동기화 상태 확인:
권장 학습: "mysql 비디오 튜토리얼
"