카테고리 없음
ubuntu proxy orchestrator 활용 2
짱구는굿
2023. 8. 31. 11:24
orchestrator 자동화 시키기 [db003 --> master가 되지 않도록 하기] docker exec -it orchestrator /bin/bash pwd cd /etc pwd vi orchestrator.conf.json - nano는 사용못하기 때문에 vi 사용 |
*로 변경
"RecoverMasterClusterFilters": [
"*"
(Master 장애 대해서 자동 복구할 클러스터 를 지정)
-> "db003" 변경
"PromotionIgnoreHostnameFilters": ["db003"],
(자동 복구시 해당 hostname은 선택지에서 제외함)
docker restart orchestrator
touch app_test_conn.sh chmod 777 app_test_conn.sh nano app_test_conn.sh |
#!/bin/bash
while true;
do
mysql -uappuser -p12345 -h172.17.0.1 -P16033 -N -e "select @@hostname,now()" 2>&1 | grep -v "Warning"
sleep 1
done
./app_test_conn.sh |
nano app_test_conn.sh |
#!/bin/bash
while true;
do
mysql -uappuser -p12345 -h172.17.0.1 -P16033 -N -e "insert into testdb.insert_test select @@hostname,now()" 2>&1 | grep -v "Warning"
sleep 1
done
./app_test_conn.sh |
docker exec -it -uroot db001 /bin/bash mysql -uroot -p12345 use testdb; create table insert_test(hostname varchar(5) not null, insert_time datetime not null); flush privileges; show tables; desc insert_test; select * from insert_test; |
nano app_test_conn.sh 를 변경 후
실행 결과
truncate table testdb.insert_test; |
=== db001를 죽였을때 db002로 표시하기 === 터미널 1 : query 쏘기 ./app_test_insert.sh 터미널 2 : db001 죽이기 docker stop db001 터미널 3 : db002의 table 확인 docker exec -it -uroot db002 /bin/bash mysql -uroot -p12345 show tables; desc insert_test; select * from insert_test; |
죽였다 살린 db001를 db002의 slave로 붙이는 작업 docker exec -it -uroot db001 /bin/bash mysql -uroot -p12345 set global read_only=1; change master to masrer_host='db002',\ master_user='repl', master_password='12345' master_auto_position=1; start slave; show slave status\G |