| 
									
										
										
										
											2020-04-29 01:29:07 +03:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | 
					
						
							| 
									
										
										
										
											2020-10-17 00:19:28 +03:00
										 |  |  | CONFIG_FILE=$DIR/config.sh | 
					
						
							| 
									
										
										
										
											2020-04-29 01:29:07 +03:00
										 |  |  | [[ ! -r "${CONFIG_FILE}" ]] && { echo "Could not read ${CONFIG_FILE}!"; exit 1; } | 
					
						
							|  |  |  | set -a | 
					
						
							|  |  |  | . "${CONFIG_FILE}" | 
					
						
							|  |  |  | set +a | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-21 11:20:18 +03:00
										 |  |  | echo "Stop local slave" > $log_file | 
					
						
							|  |  |  | mysql --defaults-extra-file=./.my.cnf -e "STOP SLAVE;" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #Started line on execute remote sql on remote server | 
					
						
							|  |  |  | echo "Start execution all commands on remote server" >> $log_file | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-16 16:54:25 +03:00
										 |  |  | REMOTE_SQL= | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-29 01:29:07 +03:00
										 |  |  | for i in ${databases[@]} | 
					
						
							|  |  |  | do | 
					
						
							|  |  |  |     REMOTE_SQL=$REMOTE_SQL' USE '$i'; FLUSH TABLES WITH READ LOCK;' | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-27 18:05:08 +00:00
										 |  |  | REMOTE_SQL=$REMOTE_SQL' system ./_activate-slave.sh; system ./_dump.sh;' | 
					
						
							| 
									
										
										
										
											2020-04-29 01:29:07 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | for i in ${databases[@]} | 
					
						
							|  |  |  | do | 
					
						
							|  |  |  |     REMOTE_SQL=$REMOTE_SQL' USE '$i'; UNLOCK TABLES;' | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | mysql --defaults-extra-file=./.remote.my.cnf -e "$REMOTE_SQL" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-21 11:20:18 +03:00
										 |  |  | echo "Start local slave" >> $log_file | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-29 01:29:07 +03:00
										 |  |  | mysql --defaults-extra-file=./.my.cnf -e "START SLAVE;" | 
					
						
							| 
									
										
										
										
											2020-10-16 16:54:25 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-21 08:13:56 +00:00
										 |  |  | if [[ "$1" = "master-to-master" ]]; then | 
					
						
							| 
									
										
										
										
											2020-10-21 11:31:30 +03:00
										 |  |  |     ./replication-master-to-master.sh; | 
					
						
							| 
									
										
										
										
											2020-10-16 16:54:25 +03:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 |