이전 글 "실전적인 mysql 클러스터 구성(1) - centos7에 mysql-5.6 바이너리 설치"에 이어, 이번 글에서는 메인 데이터베이스 서버가 로그 파일 형태로 다른 서버에 데이터를 백업하는 방법을 소개한다. 서버는 이러한 방식으로 데이터베이스의 마스터-슬레이브 복제를 실현할 수 있으며 데이터의 안전한 백업을 달성할 수 있습니다.
기본 라이브러리 작업의 경우:
1. 마스터에서 log-bin 기능을 활성화합니다.
# vi /etc/my.cnf 添加如下内容: log_bin=mysql-bin server_id =1
2. mysql을 다시 시작합니다
# /etc/init.d/mysqld restart
3. mysql에 로그인하여 마스터 서버에 계정을 생성하고 슬레이브 기능을 승인합니다. 🎜>
#mysql –uroot –p mysql> grant replication slave on *.* to 'mysql'@'%' identified by 'mysql'; mysql> flush priviliges; mysql> flush tables with read lock;
물론 이 작업 이전에 마스터 데이터베이스와 슬레이브 데이터베이스 모두에 데이터가 존재한다면 데이터베이스 전체를 백업할 수 있다. . 백업 과정은 다음과 같습니다.
1. /usr/bin에 mysqldump 명령을 추가합니다
ln - s /application/mysql/bin/mysqldump /usr/bin/
2. mysqldump 명령을 사용하여 마스터 서버 데이터베이스를 백업합니다.
# mysqldump -uroot -p -A --master-data=1 > /tmp/master_16-09-12.sql
3. 백업 완료, 복원 쓰기 작업:
# mysql> 테이블 잠금 해제;
슬레이브 데이터베이스 작업
1. 슬레이브 동기화 작업 중지
mysql>
# vi /etc/my.cnf log_bin=mysql-bin server_id = 2
# mysql -uroot -p < master_16-09-12.sql
mysql> change master to
master_host="主服务器IP",
master_user="mysql",
master_password="mysql";
mysql> start slave;
mysql>quit;
#/etc/init.d/mysqld restart
mysql> show slave status\G;
마스터와 슬레이브가 동일한 MySQL 서버 UUID 솔루션을 가짐
서버 복사 중에 데이터베이스의 데이터 디렉터리 전체도 복사되기 때문이다. 프로세스이므로 그 안에 auto.cnf 파일이 있습니다. 이 파일은 데이터베이스 uuid를 저장합니다. 각 데이터베이스의 uuid가 다를 경우 uuid를 수정하면 됩니다.
위는 실제 mysql 클러스터 구성 (2) - mysql 데이터베이스의 마스터-슬레이브 복제를 구현하는 내용입니다. PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!