#!/bin/bash
Restart firewall and open port 3306
systemctl restart firewalld firewall-cmd –zone=public –add-port=3306/tcp –permanent firewall-cmd –reload firewall-cmd –list-ports
Configure master server
sed -i ’s/#server-id/server-id=200/g’ /etc/my.cnf echo “log-bin=mysql-bin” >> /etc/my.cnf systemctl restart mysqld
Configure slave server
sed -i ’s/#server-id/server-id=201/g’ /etc/my.cnf systemctl restart mysqld
Set MySQL password and create replication user on master server
mysql -uroot -p1234 -e “SET PASSWORD = ‘Root_12root’;
set global validate_password.policy=0; \
set global validate_password.length=1; \
SET PASSWORD = '1234'; \
CREATE USER 'xiaobai'@'8.134.13.188' IDENTIFIED BY '1234'; \
ALTER USER 'xiaobai'@'8.134.13.188' IDENTIFIED WITH mysql_native_password BY '1234'; \
GRANT REPLICATION SLAVE ON *.* TO 'xiaobai'@'8.134.13.188';"
Get master status and set up slave replication
master_status=\((mysql -uroot -p1234 -e "SHOW MASTER STATUS \G;" | grep File) master_file=\){master_status/File: /} master_position=$(mysql -uroot -p1234 -e “SHOW MASTER STATUS \G;” | grep Position | sed ’s/[^0-9]*//g’) mysql -uroot -p1234 -e “CHANGE MASTER TO MASTER_HOST=‘175.178.93.143’,
MASTER_USER='xiaobai', \
MASTER_PASSWORD='1234', \
MASTER_LOG_FILE='$master_file', \
MASTER_LOG_POS=$master_position; \
START SLAVE;"
Allow remote connections
mysql -uroot -p1234 -e “CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘1234’;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; \
FLUSH PRIVILEGES;"




