소위 마스터-슬레이브 MySQL 서버 아키텍처는 마스터 서버의 작업도 슬레이브 서버에 복사된다는 의미입니다.
다음으로 이 프로세스를 수행하기 위해 두 대의 머신을 사용하겠습니다.
복제의 역할:
1. 데이터 분할
2. 읽기 로드 밸런싱 구현
3. 백업(백업할 수 없음) up), 그러나 백업 시스템 제공 가능)
4. 고가용성 및 장애 조치 기능
5. MySQL 업그레이드 테스트
복제 유형:
a. 명령문 기반 복제
b. 기반 복제
c. 혼합 복제(a와 b의 조합)
서버 주소 계획
마스터 서버 IP: 192.168.1.108
슬레이브 서버 IP: 192.168.1.110
실험적 토폴로지:
master_mysql----client_mysql
1. Mysql 설치
#mkdir -vp /mydata/data
#groupadd - g 3306 mysql
#useradd -g mysql -s /sbin/nologin -M -u 3306 mysql
#chown -R mysql:mysql /www/mydata/
# tar x mysql-5.5.15- linux2.6-i686 .tar.gz -C /usr/local
#ln -vs /usr/local/mysql-5.5.15-linux2.6-i686 /usr/local/mysql
#cd / usr/local/mysql
#chown -R mysql:mysql .
#scripts/mysql_install_db --user=mysql --datadir=/mydata/data
#chown -R 루트
#cp support-files/mysql .server /etc/init.d/mysqld ;
#chkconfig --add mysqld ;
#cp support-files/my-large.cnf
#vim / etc/my .cnf 임시)
#vim/etc/ profile
PATH=$PATH:/usr/local/mysql/bin 추가(영구)
lib 파일 지정
#vim /etc/ld.so .conf.d/mysql.conf
추가:/usr/local/mysql/lib
LDCONFIG 동기화
#LDCONFIG -V | GREP mysql
헤더 파일:
#Ln -SV / usr/local/mysql/include /usr/include/mysql 구성을 구성해야 합니다. 두 서버 모두
2. 다음으로 실제 마스터-슬레이브 mysql 서버 구성을 시작합니다
메인 서버 구성은 다음과 같습니다.
#vim /etc/my.cnf 다음과 같이 추가 정보
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog-format=maxed
server id = 1
수정 완료 후 저장하고 Mysql > 'redhat';
mysql> FLUSH PRIVILEGES;
3.
#vim /etc/my.cnf
log-bin=mysql-bin,binlog-format=maxed 주석 처리
relay-log=relay-bin.index, Relay-log=relay-bin, Replicate-ignore-db =mysql
수정 server-id = 2
구성 파일 저장 후 Mysql 다시 시작
#service mysqld restart
#mysql
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.108',MASTER_USER='repl',MASTER_PASSWORD ='redhat';
mysql> START SLAVE; SHOW SLAVE STATUSG; 슬레이브 서버의 실행 상태를 확인하세요
다음과 같은 정보가 나타나면 해당 정보가 마스터 서버에서 슬레이브로 복사되었음을 확인할 수 있습니다. 서버
mysql> 데이터베이스 표시;
+-------------+
| 데이터베이스 |
+- ----- -------------+
| 정보_스키마 |
| mysql |
| 테스트 |
+-- ----+
mysql> SELECT * FROM st;
+----+------+
| 이름 |
+----+------+
| 1 |
| 3 | >| 5 | E |
+----+------+
이제 마스터 서버와 슬레이브 서버의 데이터베이스가 동기화되어 실험이 성공했습니다! !