github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/scripts/replica-mysql-config.sh (about) 1 #!/bin/bash 2 3 until docker exec mattermost-mysql sh -c 'mysql -u root -pmostest -e ";"' 4 do 5 echo "Waiting for mattermost-mysql database connection..." 6 sleep 4 7 done 8 9 priv_stmt='GRANT REPLICATION SLAVE ON *.* TO "mmuser"@"%" IDENTIFIED BY "mostest"; FLUSH PRIVILEGES;' 10 docker exec mattermost-mysql sh -c "mysql -u root -pmostest -e '$priv_stmt'" 11 12 until docker-compose -f docker-compose.makefile.yml exec mysql-read-replica sh -c 'mysql -u root -pmostest -e ";"' 13 do 14 echo "Waiting for mysql-read-replica database connection..." 15 sleep 4 16 done 17 18 docker-ip() { 19 docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$@" 20 } 21 22 MS_STATUS=`docker exec mattermost-mysql sh -c 'mysql -u root -pmostest -e "SHOW MASTER STATUS"'` 23 CURRENT_LOG=`echo $MS_STATUS | awk '{print $6}'` 24 CURRENT_POS=`echo $MS_STATUS | awk '{print $7}'` 25 26 start_slave_stmt="CHANGE MASTER TO MASTER_HOST='$(docker-ip mattermost-mysql)',MASTER_USER='mmuser',MASTER_PASSWORD='mostest',MASTER_LOG_FILE='$CURRENT_LOG',MASTER_LOG_POS=$CURRENT_POS; START SLAVE;" 27 start_slave_cmd='mysql -u root -pmostest -e "' 28 start_slave_cmd+="$start_slave_stmt" 29 start_slave_cmd+='"' 30 docker exec mattermost-mysql-read-replica sh -c "$start_slave_cmd" 31 32 docker exec mattermost-mysql-read-replica sh -c "mysql -u root -pmostest -e 'SHOW SLAVE STATUS \G'"