실습 2. 마스터 1대 - 슬레이브 2대 연동
- 마스터-슬레이브 연동 과정은 동일하나
마스터에서 슬레이브 접근 계정을 서로 다르게 해주어야 하기 때문에
2개의 계정을 만들어주어야한다.<슬레이브 접근계정 1> MariaDB [mysql]> create user 'replication_user'@'%' identified by 'replication_user00##'; MariaDB [mysql]> grant replication slave on *.* to replication_user;
<슬레이브 접근계정 2> MariaDB [mysql]> create user 'replication_u1'@'%' identified by 'replication11##'; MariaDB [mysql]> grant replication slave on *.* to replication_u1;
- 중간에 2nd 슬레이브를 연동시켜줄 시 마스터의 bin파일이나 position값이 설정할때와 차이가 날 수 있기 때문에
reset master
로 bin파일과 position 값을 기본값으로 초기화
그 후 슬레이브에change
명령어로 연동을 시켜준다.change master to master_host='192.168.0.174', master_user='replication_user', master_password='replication_user00##', master_port=3306, master_log_file='mariadb-bin.000001', master_log_pos=245, master_connect_retry=10;
change master to master_host='192.168.0.174', master_user='replication_u1', master_password='replication11##', master_port=3306, master_log_file='mariadb-bin.000001', master_log_pos=245, master_connect_retry=10;
- 연동까지 됐다면 마스터 서버의 변동 사항을 받아온다.
하지만 마스터에 특정 테이블이 있지만 슬레이브에 그 테이블이 없다면 오류가 발생하며
오류 시점으로 그 뒤의 query들은 갱신이 안된다.
3-1. 그러므로 해당 테이블을 생성해준뒤stop slave
,start slave
로 슬레이브 서버를 초기화 시켜준다면 에러는 갱신되며 그 뒤의 query들 또한 갱신된다.
[mysqld]
~
~~
~~~
init_connect = "SET_collation_connection = utf8_general_ci"
init_connect = "SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci
[client]
default-character-set = utf8
create table koreantest_tb( no int not null auto_increment primary key, id char(20) not null, name char(20) not null);
insert into koreantest_tb values(null, 'hong','홍길동');
한글화 패치 기준으로...
패치 이전 테이블에는 적용이 안된다.
https://xe1.xpressengine.com/index.php?mid=download&package_id=18325662&release_id=22756225
vi /etc/httpd/conf.d/vhost.conf
~~public_html 디렉터리 아래에서 압축해제
해당 xe 디렉터리+하위 내용까지 권한 707으로 변경
chmod 707 xe -R
MariaDB [mysql]> create database kbs;
<계정 추가>
MariaDB [mysql]> insert into user(host, user, password) values('%', 'kbs', password('123456'));
MariaDB [mysql]> flush privileges;
<권한 부여>
MariaDB [mysql]> grant all privileges on kbs.* to 'kbs'@'%' identified by '123456';
MariaDB [mysql]> flush privileges;
<mysql 재실행>
[root@master ~]# systemctl restart mariadb
kbs1234@co.kr
Kbs1234@