18.6.5 복제를위한 MySQL Cluster 준비
복제를위한 MySQL Cluster의 준비는 다음 단계로 구성됩니다.
모든 MySQL 서버에 버전의 호환성을 확인합니다 ( 섹션 18.6.2 "MySQL Cluster 복제의 일반 요구 사항" 을 참조하십시오).
마스터 클러스터에 적절한 권한을 가진 슬레이브의 계정을 만듭니다.
mysql
M
>GRANT REPLICATION SLAVE
->ON *.* TO '
->slave_user
'@'slave_host
'IDENTIFIED BY '
slave_password
';이전 문에서
slave_user
는 슬레이브 계정의 사용자 이름,slave_host
은 리플리케이션 슬레이브 호스트 이름 또는 IP 주소slave_password
이 계정에 할당 할 암호입니다.예를 들어, 이름이 "
myslave
"슬레이브의 사용자 계정을 만들려면 이름이"rep-slave
"호스트에서 로그인 암호"53cr37
"을 사용하여 다음GRANT
문을 사용합니다.mysql
M
>GRANT REPLICATION SLAVE
->ON *.* TO 'myslave'@'rep-slave'
->IDENTIFIED BY '53cr37';
보안 리플리케이션 슬레이브 계정에는 (다른 용도로 사용하지 않는) 고유의 사용자 계정을 사용하는 것이 좋습니다.
슬레이브가 마스터를 사용하도록 구성합니다. MySQL Monitor를 사용하면
CHANGE MASTER TO
문을 사용하여이를 수행 할 수 있습니다.mysql
S
>CHANGE MASTER TO
->MASTER_HOST='
->master_host
',MASTER_PORT=
->master_port
,MASTER_USER='
->slave_user
',MASTER_PASSWORD='
slave_password
';이전 문은
master_host
복제 마스터의 호스트 이름 또는 IP 주소,master_port
는 슬레이브가 마스터에 연결하는 데 사용되는 포트slave_user
는 마스터에서 슬레이브로 설정된 사용자 이름,slave_password
는 이전 단계에서 사용자 계정에 설정된 암호입니다.예를 들어, 호스트 이름이 "
rep-master
'의 MySQL 서버에서 이전 단계에서 생성 된 복제 슬레이브의 계정을 사용하여 복제하도록 슬레이브에 지시하려면 다음 문을 사용합니다.mysql
S
>CHANGE MASTER TO
->MASTER_HOST='rep-master',
->MASTER_PORT=3306,
->MASTER_USER='myslave',
->MASTER_PASSWORD='53cr37';
이 문에서 사용할 수있는 옵션의 전체 목록은 섹션 13.4.2.1 "CHANGE MASTER TO 구문" 을 참조하십시오.
복제 백업 기능을 제공하려면 복제 프로세스를 시작하기 전에
--ndb-connectstring
옵션을 슬레이브의my.cnf
파일에 추가 할 수 있어야합니다. 자세한 내용은 섹션 18.6.9 "MySQL Cluster 복제를 사용한 MySQL Cluster 백업" 을 참조하십시오.복제 슬레이브에
my.cnf
에서 설정 할 수있는 추가 옵션은 섹션 17.1.4 "복제 및 바이너리 로깅 옵션과 변수" 를 참조하십시오.마스터 클러스터가 이미 사용중인 경우 마스터를 백업하고 슬레이브로로드하여 슬레이브가 마스터와 동기화 시간을 줄일 수 있습니다. 노예도 MySQL Cluster를 실행하는 경우 섹션 18.6.9 "MySQL Cluster 복제를 사용한 MySQL Cluster 백업" 에 설명 된 백업 및 복원 절차를 사용하여이를 수행 할 수 있습니다.
ndb-connectstring=
management_host
[:port
]리플리케이션 슬레이브에서 MySQL Cluster를 사용하지 않으면 복제 마스터에서이 명령을 사용하여 백업을 만들 수 있습니다.
shell
M
>mysqldump --master-data=1
다음은 덤프 파일을 슬레이브에 복사하여 그 결과 얻어지는 데이터 덤프를 슬레이브로 가져옵니다. 이 후, 여기에 같이 mysql 클라이언트를 사용하여 데이터를 덤프 파일에서 슬레이브 데이터베이스로 가져올 수 있습니다. 여기에서
dump_file
은 마스터에서 mysqldump를 사용하여 생성 된 파일의 이름이고db_name
은 복제 된 데이터베이스의 이름입니다.shell
S
>mysql -u root -p
db_name
<dump_file
mysqldump에서 사용할 수있는 옵션의 전체 목록은 섹션 4.5.4 "mysqldump - 데이터베이스 백업 프로그램" 을 참조하십시오.
참고이 방법에서 슬레이브로 데이터를 복사하는 경우 모든 데이터가로드되기 전에 슬레이브가 마스터에 연결을 시도하고 복제를 시작하지 않도록하기 위해 명령 행에서
--skip-slave-start
옵션을 사용하여 슬레이브가 시작되었는지 확인해야합니다. 또는 슬레이브의my.cnf
파일에skip-slave-start
포함해야합니다. 데이터의로드가 완료되면 다음 두 섹션에서 설명하는 추가 단계를 수행합니다.복제 마스터로 동작하는 각 MySQL 서버가 고유의 서버 ID로 구성된 바이너리 로깅이 활성화 된 상태에서 행 형식을 사용하여 구성되어 있는지 확인합니다. ( 섹션 17.1.2 "복제 형식" 을 참조하십시오.)이 옵션은 마스터 서버의
my.cnf
파일에서 또는 마스터 mysqld 프로세스를 시작할 때 명령 줄에서 설정할 수 있습니다. 후자의 옵션에 대한 자세한 내용은 섹션 18.6.6 "MySQL Cluster 복제의 시작 (복제 채널이 하나)" 를 참조하십시오.