@@ -62,16 +62,16 @@ function wait_for_mysqld_running() {
6262
6363joining_for_first_time=1
6464
65- function alter_user(){
66- local mysql=" $mysql_header --host=$localhost "
67- local ssl_require=" "
68- local user=" $1 "
69- if [[ " ${REQUIRE_SSL:- } " == " TRUE" ]]; then
65+ function alter_user() {
66+ local mysql=" $mysql_header --host=$localhost "
67+ local ssl_require=" "
68+ local user=" $1 "
69+ if [[ " ${REQUIRE_SSL:- } " == " TRUE" ]]; then
7070 ssl_require=" REQUIRE SSL"
71- else
71+ else
7272 ssl_require=" REQUIRE NONE"
73- fi
74- retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;ALTER USER '$user '@'%' $ssl_require ;"
73+ fi
74+ retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;ALTER USER '$user '@'%' $ssl_require ;"
7575}
7676
7777function create_replication_user() {
@@ -137,7 +137,6 @@ function create_maxscale_user() {
137137# fi
138138# }
139139
140-
141140function create_monitor_user() {
142141 log " INFO" " Checking whether monitor user exist or not......"
143142 local mysql=" $mysql_header --host=$localhost "
@@ -151,12 +150,12 @@ function create_monitor_user() {
151150 retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;CREATE USER 'monitor_user'@'%' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD ';"
152151 # mariadb 10.6+ change SUPER-> READ_ONLY ADMIN, REPLICATION CLIENT> SLAVE MONITOR
153152 if [[ " $( echo -e " 1:10.7\n$MARIADB_VERSION " | sort -V | tail -n1) " == " $MARIADB_VERSION " ]]; then
154- retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT READ_ONLY ADMIN, RELOAD on *.* to 'monitor_user'@'%';"
155- retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT SLAVE MONITOR ON *.* TO 'monitor_user'@'%';"
156- retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT BINLOG ADMIN, REPLICATION MASTER ADMIN, REPLICATION SLAVE ADMIN ON *.* TO 'monitor_user'@'%';"
153+ retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT READ_ONLY ADMIN, RELOAD on *.* to 'monitor_user'@'%';"
154+ retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT SLAVE MONITOR ON *.* TO 'monitor_user'@'%';"
155+ retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT BINLOG ADMIN, REPLICATION MASTER ADMIN, REPLICATION SLAVE ADMIN ON *.* TO 'monitor_user'@'%';"
157156 else
158- retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT SUPER, RELOAD on *.* to 'monitor_user'@'%';"
159- retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT REPLICATION CLIENT on *.* to 'monitor_user'@'%';"
157+ retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT SUPER, RELOAD on *.* to 'monitor_user'@'%';"
158+ retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;GRANT REPLICATION CLIENT on *.* to 'monitor_user'@'%';"
160159 fi
161160
162161 retry 120 ${mysql} -N -e " SET SQL_LOG_BIN=0;FLUSH PRIVILEGES;"
@@ -199,7 +198,7 @@ function join_to_master_by_slave_pos() {
199198 retry 20 ${mysql} -N -e " STOP SLAVE;"
200199 retry 20 ${mysql} -N -e " RESET SLAVE ALL;"
201200 if [ $joining_for_first_time -eq 1 ]; then
202- retry 20 ${mysql} -N -e " SET GLOBAL gtid_slave_pos = '$gtid ';"
201+ retry 20 ${mysql} -N -e " SET GLOBAL gtid_slave_pos = '$gtid ';"
203202 fi
204203 if [[ " ${REQUIRE_SSL:- } " == " TRUE" ]]; then
205204 ssl_options=" , MASTER_SSL=1, MASTER_SSL_CA='/etc/mysql/certs/server/ca.crt'"
@@ -231,30 +230,30 @@ function start_mysqld_in_background() {
231230
232231backup_restored=0
233232if [ -f " /scripts/receive_backup.txt" ]; then
234- echo " Waiting for the master to start streaming backup data..."
235- echo " $POD_IP " > /scripts/backup_receive_started.txt
236- while true ; do
237- socat -u TCP-LISTEN:3307 STDOUT | mbstream -x -C /var/lib/mysql
238- if [ $? -eq 0 ]; then
239- log " INFO" " Data restore successful."
240- break
241- else
242- log " INFO" " Data restore failed."
243- rm -rf /var/lib/mysql
244- fi
245- done
246- mariabackup --prepare --target-dir=/var/lib/mysql
247- rm /scripts/backup_receive_started.txt
248- backup_restored=1
249- rm /scripts/receive_backup.txt
233+ echo " Waiting for the master to start streaming backup data..."
234+ echo " $POD_IP " > /scripts/backup_receive_started.txt
235+ while true ; do
236+ socat -u TCP-LISTEN:3307 STDOUT | mbstream -x -C /var/lib/mysql
237+ if [ $? -eq 0 ]; then
238+ log " INFO" " Data restore successful."
239+ break
240+ else
241+ log " INFO" " Data restore failed."
242+ rm -rf /var/lib/mysql
243+ fi
244+ done
245+ mariabackup --prepare --target-dir=/var/lib/mysql
246+ rm /scripts/backup_receive_started.txt
247+ backup_restored=1
248+ rm /scripts/receive_backup.txt
250249fi
251250
252251start_mysqld_in_background
253252
254253if [[ " ${REQUIRE_SSL:- } " == " TRUE" ]]; then
255- export mysql_header=" mariadb -u ${USER} --port=3306 --ssl-ca=/etc/mysql/certs/server/ca.crt --ssl-cert=/etc/mysql/certs/server/tls.crt --ssl-key=/etc/mysql/certs/server/tls.key"
254+ export mysql_header=" mariadb -u ${USER} --port=3306 --ssl-ca=/etc/mysql/certs/server/ca.crt --ssl-cert=/etc/mysql/certs/server/tls.crt --ssl-key=/etc/mysql/certs/server/tls.key"
256255else
257- export mysql_header=" mariadb -u ${USER} --port=3306"
256+ export mysql_header=" mariadb -u ${USER} --port=3306"
258257fi
259258
260259export MYSQL_PWD=${PASSWORD}
@@ -299,27 +298,26 @@ while true; do
299298 fi
300299
301300 if [[ $desired_func == " join_to_master" ]]; then
302- # wait for the script copied by coordinator
303- while [ ! -f " /scripts/master.txt" ]; do
304- log " WARNING" " master detector file isn't present yet!"
305- sleep 1
306- done
307- master=$( cat /scripts/master.txt)
308- rm -rf /scripts/master.txt
309- if [[ $backup_restored -eq 0 ]]; then
310- join_to_master_by_current_pos
311- else
312- while [ ! -f " /scripts/gtid.txt" ]; do
313- log " WARNING" " gtid detector file isn't present yet!"
301+ # wait for the script copied by coordinator
302+ while [ ! -f " /scripts/master.txt" ]; do
303+ log " WARNING" " master detector file isn't present yet!"
314304 sleep 1
315305 done
316- gtid=$( cat /scripts/gtid.txt)
317- echo " master replica's current gtid position is $gtid "
318- rm -rf /scripts/gtid.txt
319- join_to_master_by_slave_pos
320- fi
306+ master=$( cat /scripts/master.txt)
307+ rm -rf /scripts/master.txt
308+ if [[ $backup_restored -eq 0 ]]; then
309+ join_to_master_by_current_pos
310+ else
311+ while [ ! -f " /scripts/gtid.txt" ]; do
312+ log " WARNING" " gtid detector file isn't present yet!"
313+ sleep 1
314+ done
315+ gtid=$( cat /scripts/gtid.txt)
316+ echo " master replica's current gtid position is $gtid "
317+ rm -rf /scripts/gtid.txt
318+ join_to_master_by_slave_pos
319+ fi
321320 fi
322321 log " INFO" " waiting for mysql process id = $pid "
323322 wait $pid
324323done
325-
0 commit comments