(1) 초기 준비
1.1 일관된 버전
1.2, 테이블을 초기화하고 백그라운드에서 MySQL을 시작
, 1.3 루트 암호를 변경
2, 마스터 서버가 마스터를 수정
우리는 것들을 /etc/my.cnf
[mysqld를] 로그 빈 - 빈의 MySQL = # [일] 이진 로깅 활성화 서버 ID가 # 28 = [일] 유일한 서버 ID는, 디폴트는 일반적으로 IP의 마지막 제 1 및
3. 서버 슬레이브에서 수정 :
우리는 것들을 /etc/my.cnf
[mysqld를] 로그인 빈 = # MySQL을 - 빈 바이너리 로깅 사용 가능 [불필요] 서버 ID를 = 29 # [해야] 서버의 고유 ID, 기본값은 일반적으로 IP의 마지막 단락 하나이며,
네, 두 서버의 MySQL의를 다시 시작
/etc/init.d/mysql 형태를 다시 시작
5, 마스터 서버에 계정을 생성하고 슬레이브 권한을 부여
MySQL의 -u 루트 -p
GRANT REPLICATION SLAVE ON * * 'mysync'@ '%'를 '1qaz QAZ!'로 식별합니다.; 플러시 특권;
// 일반적으로 루트 계정이없는, '%'는 모든 클라이언트가도, 한, 암호가 올 계좌 번호로, 같은 10.1.30.29로, 보안을 강화하고, 여기에 대신 특정 클라이언트 IP 사용할 수 있습니다 수 있음을 의미합니다.
(주 마스터 복제하는 경우, 각각 양측에 설치되어 있음)
6, 주 서버에 MySQL에 로그 마스터의 상태를 조회
MySQL은> 마스터 상태를 표시;
------------------ ---------- + + + + ---- -------------- -------------- +
| 파일 | 위치 | Binlog_Do_DB | Binlog_Ignore_DB |
------------------ ---------- + + + + ---- -------------- -------------- +
| MySQL의-bin.000001 위 | 252 | | |
------------------ ---------- + + + + ---- -------------- -----------
참고 :이 절차는 작동 MySQL 기반의 마스터 서버를 수행하지 않는 한, 마스터 서버 상태 값 변경 방지
7, 노예에서 구성 서버를
MySQL의> 변경 마스터 = '10 MASTER_HOST하기 .1.30.28 'master_user ='mysync 'master_password ='1qaz을 QAZ 'MASTER_LOG_FILE ='MySQL의-bin.000001 위 '를 MASTER_LOG_POS = 252!
# 분리하지 않도록주의, 아니 252 개 번호 이전과 작은 따옴표 후. (실제 변형 예에있어서, 여기서 상기 관련되는 마스터 상태 코드가 기입 된 질의의 결과를 참고)
MySQL은> 슬레이브를 시작합니다;
서버에서 복제를 시작
, 8 서버에서 복제의 상태를 확인
MySQL의> 노예 상태를 표시 \ G
*************************** 1. 행 ******************** *******
Slave_IO_State는 : 이벤트를 보낼 수있는 마스터를 기다리는 중
MASTER_HOST : 10.1.30.23
Master_User : mysync
MASTER_PORT : 3306
Connect_Retry : 60
MASTER_LOG_FILE한다 : mysql-bin.000001 위
Read_Master_Log_Pos : 252
RELAY_LOG_FILE : mysqld를 릴레이-bin.000002
RELAY_LOG_POS : 251
Relay_Master_Log_File : mysql을-bin.000001 위
Slave_IO_Running : 예
Slave_SQL_Running : 예
Replicate_Do_DB :
Replicate_Ignore_DB :
Replicate_Do_Table :
Replicate_Ignore_Table :
Replicate_Wild_Do_Table :
Replicate_Wild_Ignore_Table :
Last_Errno : 0
만약 Last_Error :
Skip_Counter : 0
Exec_Master_Log_Pos : 252
Relay_Log_Space : 407
Until_Condition : 없음
Until_Log_File :
Until_Log_Pos : 0
Master_SSL_Allowed : 없음
Master_SSL_CA_File :
Master_SSL_CA_Path :
Master_SSL_Cert :
Master_SSL_Cipher :
Master_SSL_Key :
Seconds_Behind_Master은 : 0
Master_SSL_Verify_Server_Cert : 없음
Last_IO_Errno : 0
Last_IO_Error :
Last_SQL_Errno : 0
Last_SQL_Error :
설정 (0.00 초)에 1 행 ......
참고 : Slave_IO 및 Slave_SQL 프로세스가 작동해야합니다, 즉 YES 상태가 그렇지 않으면 잘못된 상태 (예 : 하나 NO 잘못 저지른 실수로).
위의 작업을하는 동안 마스터 서버에서 구성을 완료합니다.
9, 테스트에서 주 서버 :
마스터의 MySQL 데이터베이스를 구축하고, 데이터를 삽입 라이브러리에서 테이블을 만들 :
MySQL은> 데이터베이스 test_db를 만들; 쿼리 OK, 1 행 (0.00 초)의 영향 의 MySQL> test_db를 사용; 데이터베이스가 변경 MySQL이>에 나타난 생성 test_tb ((3), 이름 char (10 아이디 지능)); 쿼리 OK, 0 행 (0.00 초)에 영향 test_tb 값 (001 '잭')으로의 MySQL> 삽입; 쿼리 확인, 1 행 (0.00 초) 영향 MySQL의> 쇼 데이터베이스;
+ -------------------- +
| 데이터베이스 |
+ -------------------- +
| INFORMATION_SCHEMA |
| TEST_DB |
| MySQL의 |
| 테스트 |
+ -------------------- +
는 SET (0.00 초)에서 4 행
서버의 MySQL 쿼리 :
MySQL의> 쇼 데이터베이스;
+ -------------------- +
| 데이터베이스 |
+ -------------------- +
| INFORMATION_SCHEMA |
| test_db | // 생성 된 메인 서버 데이터베이스 볼 수
| MySQL의 |
| 테스트를 |
+ -------------------- +
세트에 4 행 (0.00 초)
MySQL의> TEST_DB의 사용
데이터베이스가 변경
test_tb에서 MySQL의>는 SELECT *를; // 뷰를 새로운 주 서버에 의 특정 데이터 증가
+ ------ + ------ +
| 위에서 언급 한 아이디 | 이름 |
+ ------ + ------ +
| 1 | 잭 |
+ ----- - + ------ +
세트에 1 행 (0.00 초)