-
MariaDB Replication : Master-SlaveMariaDB Mysql 2023. 4. 11. 17:23
마스터서버에서 복제 전용 계정을 새로 추가 or 기존 계정에 복제 관련 권한을 추가
GRANT REPLICATION SLAVE ON *.* TO ‘userid’@’%’ IDENTIFIED BY ‘비밀번호’;FLUSH PRIVILEGES;
마스터, 슬레이브에서 replication 할 db 의 데이터를 맞춤
Master server 설정
# vi /etc/my.cnf.d/server.cnf[mariadb]
log_bin=mysql-bin
server-id=1# systemctl restart mariadb
MariaDB [(none)]> show master status;
MariaDB [(none)]> show master status;
file : mysql-bin.000001
positon : 328
꼭 기억 !!!
#server id 1로 되어있는지 확인
SHOW GLOBAL VARIABLES LIKE 'server_id';
show variables like '%log_bin%';
Slave 서버 설정
SHOW GLOBAL VARIABLES LIKE 'server_id';
처음엔 1로 되어있음
# vi /etc/my.cnf.d/server.cnf
[mysqld]
log_bin=mysql-bin
server-id=2
relay_log=mysql-relay-bin
log_slave_updates=1
read_only=1
# replicate-do-db='repl' ==> 하나의 db 만 replication 할 때. 없으면 모든 db 를 replication 함.
# 몇몇개의 db 만 replication 할 경우 replicate-do-db 항목을 여러개 추가# systemctl restart mariadb
확인
SHOW GLOBAL VARIABLES LIKE 'server_id';
SET GLOBAL server_id=2;
Slave 접속해서 동기화 받을 DB가 존재하는 Master 서버의 정보를 입력
MariaDB [(none)]> STOP SLAVE;
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='192.168.2.175', MASTER_PORT=23306, MASTER_USER='kpis', MASTER_PASSWORD='kpis2302131!', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328;
MariaDB [(none)]> START SLAVE;
Slave가 Master에게서 제대로 동기화 받아오는지 확인
MariaDB [(none)]> SHOW SLAVE STATUS \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.2.175
Master_User: kpis
Master_Port: 23306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 328
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 555
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
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: 328
Relay_Log_Space: 864
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
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: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 0
1 row in set (0.000 sec)
ERROR: No query specified정상
Slave_IO_State:Waiting for master to send event
Slave_I/O_Running: Yes
Slave_SQL_Running: Yes
MariaDB [(none)]> SHOW SLAVE STATUS \G;
에러 체크
Last_IO_Errno
Last_IO_Error
Last_SQL_Errno
Last_SQL_Error
최종 확인 : insert/update/delete
'MariaDB Mysql' 카테고리의 다른 글
MariaDB 설치, 설정 (0) 2023.04.06 Database : Mysql (0) 2022.11.14