다음 튜토리얼은 설정을 위한 간단한 단계별 가이드를 제공하는 것을 목표로 합니다. MySQL (주인 노예) 복제 입력 RHEL 6.3/6.2/6.1/6/5.8, 센트OS 6.3/6.2/6.1/6/5.8 그리고 페도라 17,16,15,14,13,12 최신 사용 MySQL 버전. 이 가이드는 특별히 센트OS 6.3 운영 체제이지만 이전 버전의 리눅스 분포 MySQL 5.x.
업데이트: CentOS/RHEL 7 및 Debian 8 및 Ubuntu와 같은 파생 제품에서 MariaDB 마스터-슬레이브 복제를 찾고 있다면 이 가이드를 따르십시오. MariaDB 마스터-슬레이브 복제 설정.
NS MySQL 복제 면에서 매우 유용하다. 데이터 보안, 장애 조치 솔루션, 슬레이브에서 데이터베이스 백업, 해석학 등. 우리는 복제 프로세스를 수행하기 위해 다음을 사용합니다. 귀하의 시나리오에서는 다를 것입니다.
우리는 두 개의 서버가 있습니다. 하나는 주인 ~와 함께 IP (192.168.1.1) 및 기타는 노예 NS (192.168.1.2). 더 쉽게 설정할 수 있도록 설정 프로세스를 두 단계로 나누었습니다. 1단계 우리는 구성합니다 주인 서버 및 내부 2단계 ~와 함께 노예 섬기는 사람. 복제 설정 프로세스를 시작하겠습니다.
입력 1단계, 우리는 설치를 볼 것입니다 MySQL, 설정 복제 그런 다음 복제를 확인합니다.
먼저 다음을 진행합니다. MySQL 사용하여 설치 YUM 명령. 이미 MySQL이 설치되어 있는 경우 이 단계를 건너뛸 수 있습니다.
# yum install mysql-server mysql
열려있는 my.cnf 구성 파일 VI 편집자.
# vi /etc/my.cnf
아래에 다음 항목을 추가하십시오. [mysqld] 섹션을 교체하는 것을 잊지 마십시오. 텍민트 복제하려는 데이터베이스 이름으로 노예.
서버 아이디 = 1. binlog-do-db=텍민트 릴레이 로그 = /var/lib/mysql/mysql-relay-bin. 릴레이 로그 인덱스 = /var/lib/mysql/mysql-relay-bin.index. 로그 오류 = /var/lib/mysql/mysql.err. 마스터 정보 파일 = /var/lib/mysql/mysql-master.info. 릴레이 로그 정보 파일 = /var/lib/mysql/mysql-relay-log.info. 로그 빈 = /var/lib/mysql/mysql-bin
다시 시작 MySQL 서비스.
# /etc/init.d/mysqld 재시작
로그인 MySQL NS 뿌리 사용자 및 생성 슬레이브 사용자 복제 권한을 부여합니다. 바꾸다 슬레이브 사용자 사용자와 너의 비밀번호 암호로.
# mysql -u 루트 -p
mysql> '에 *.*에 복제 슬레이브 부여슬레이브 사용자'@'%'(으)로 식별됨 '너의 비밀번호'; mysql> 플러시 권한; mysql> 읽기 잠금이 있는 테이블 플러시; mysql> 마스터 상태 표시; +++++ | 파일 | 위치 | Binlog_Do_DB | Binlog_Ignore_DB | +++++ |mysql-bin.000003 | 11128001| 텍민트 | | +++++ 1행 세트(0.00초) mysql> quit;
파일(mysql-bin.000003) 및 위치(11128001) 숫자, 나중에 이 숫자가 필요했습니다. 노예 섬기는 사람. 다음 신청 읽기 잠금 모든 데이터베이스 및 마스터 데이터베이스 정보를 내보낼 데이터베이스로 mysqldump 명령.
# mysqldump -u root -p --all-databases --master-data > /root/dbdump.db
모든 데이터베이스를 덤프했으면 이제 루트 사용자로 mysql에 다시 연결하고 테이블을 해제합니다.
mysql> 테이블 잠금 해제; mysql> 종료;
데이터베이스 덤프 파일 업로드 노예 서버(192.168.1.2) SCP 명령을 사용합니다.
scp /root/dbdump.db [이메일 보호됨]:/뿌리/
그것이 우리가 성공적으로 구성한 것입니다 주인 서버 2단계 부분.
입력 2단계, 우리는 설치 MySQL, 설정 복제 그런 다음 복제를 확인합니다.
당신이 가지고 있지 않은 경우 MySQL 설치한 다음 YUM 명령을 사용하여 설치합니다.
# yum install mysql-server mysql
열려있는 my.cnf 구성 파일 VI 편집자.
# vi /etc/my.cnf
아래에 다음 항목을 추가하십시오. [mysqld] 섹션을 교체하는 것을 잊지 마십시오. IP 주소 주인 섬기는 사람, 텍민트 복제하려는 데이터베이스 이름 등 주인.
서버 아이디 = 2. 마스터 호스트 =192.168.1.1 마스터 연결 재시도 = 60. 마스터 사용자 =슬레이브 사용자 마스터 비밀번호 =너의 비밀번호 복제-두-DB=텍민트 릴레이 로그 = /var/lib/mysql/mysql-relay-bin. 릴레이 로그 인덱스 = /var/lib/mysql/mysql-relay-bin.index. 로그 오류 = /var/lib/mysql/mysql.err. 마스터 정보 파일 = /var/lib/mysql/mysql-master.info. 릴레이 로그 정보 파일 = /var/lib/mysql/mysql-relay-log.info. 로그 빈 = /var/lib/mysql/mysql-bin
이제 이전 명령에서 내보낸 덤프 파일을 가져오고 MySQL 서비스를 다시 시작합니다.
# mysql -u 루트 -p < /root/dbdump.db. # /etc/init.d/mysqld 재시작.
로그인 MySQL 루트 사용자로 중지하고 노예. 그럼 말해 노예 찾을 곳으로 마스터 로그 파일, 우리는 마스터에 대해 기록했습니다. 마스터 상태 표시; 파일로 명령(mysql-bin.000003) 및 위치(11128001) 번호. 당신은 변경해야합니다 192.168.1.1 ~로 IP 주소 마스터 서버, 변경 사용자 그리고 비밀번호 따라서.
# mysql -u 루트 -p
mysql> 슬레이브 정지; mysql> 마스터를 MASTER_HOST로 변경='192.168.1.1', MASTER_USER='슬레이브 사용자', 마스터_패스워드='너의 비밀번호', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=11128001; mysql> 슬레이브 시작; mysql> 슬레이브 상태 표시\G
*************************** 1. row *************************** Slave_IO_State: 마스터가 이벤트 Master_Host를 보낼 때까지 대기: 192.168.1.1 Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 12345100 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 11381900 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: 예 Slave_SQL_Running: 예 복제_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: 12345100 Relay_Log_Space: 11382055 until_Condition: 없음 When_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: 집합의 1행(0.00초)
복제가 완벽하게 작동한다는 것을 아는 것은 매우 중요합니다. 에 주인 서버는 테이블을 생성하고 그 안에 일부 값을 삽입합니다.
mysql> 데이터베이스 tecmint 생성; mysql> tecmint 사용; mysql> CREATE TABLE 직원 (c int); mysql> INSERT INTO 직원 (c) VALUES (1); mysql> SELECT * FROM 직원;
++ | c | ++ | 1 | ++ 1행 세트(0.00초)
확인 노예, 동일한 명령을 실행하면 슬레이브에서도 동일한 값을 반환합니다.
mysql> tecmint 사용; mysql> SELECT * FROM 직원;
++ | c | ++ | 1 | ++ 1행 세트(0.00초)
그게 다야, 마침내 당신은 구성했습니다 MySQL 복제 몇 가지 간단한 단계로 자세한 내용은 MySQL 복제 가이드.