shell配置mysql主从

Environment:CentOS7两台主机

    一台做主机,一台做备份机

注意: 首先第一步关闭两台机器的防火墙

主机shell操作:

 1 #!/bin/bash
 2 slave_user='zjt'
 3 slave_passwd='123'
 4 slave_ipaddr='192.168.189.139'
 5 master_ipaddr='192.168.189.172'
 6 #配置检测工具
 7 yum -y install openssh-clients
 8 #下载mysql mysql相对服务 mariadb
 9 yum -y install mariadb mariadb-server
10 #启动mysql服务
11 systemctl start mariadb
12 #添加配置文件
13 sed -i '10aserver-id=1' /etc/my.cnf
14 sed -i '11alog-bin=mysql-bin' /etc/my.cnf
15 sed -i '12a
elay-log=mysql-relay' /etc/my.cnf
16 #重启mysql
17 systemctl restart mariadb
18 #进入mysql,进行用户授权
19 mysql -p123 -e "grant replication slave on *.* to'zjt'@'192.168.189.139' identified by '123';"
20 #刷新权限
21 mysql -p123 -e "flush privileges;"
 1 #!/bin/bash
 2 slave_user='zjt'
 3 slave_passwd='123'
 4 slave_ipaddr='192.168.189.139'
 5 yum -y install openssh-clients
 6 #下载mysql mysql相对服务 mariadb
 7 yum -y install mariadb mariadb-server
 8 #启动mysql服务
 9 systemctl start mariadb
10 #添加配置文件
11 sed -i '10aserver-id=1' /etc/my.cnf
12 sed -i '11alog-bin=mysql-bin' /etc/my.cnf
13 sed -i '12a
elay-log=mysql-relay' /etc/my.cnf
14 #重启mysql
15 systemctl restart mariadb
16 #进入mysql,进行用户授权
17 mysql -p123 -e "grant replication slave on *.* to'zjt'@'192.168.189.139' identified by '123';"
18 #刷新权限
19 mysql -p123 -e "flush privileges;"
20 
21 ssh root@192.168.189.139 > /dev/null 2>&1
22 yum -y install mariadbi mariadb-server
23 #查看master表
24 master_status=`mysql -p123 -e "show master status;"`
25 #打印master表
26 echo "$master_status"
27 file=`echo "$master_status" | grep "bin" | awk '{print $1}'`
28 echo "$file"
29 pos=`echo "$master_status" | grep "bin" | awk '{print $2}'`
30 echo "$pos"
31 
32 sed -i '10aserver-id=2' /etc/my.cnf
33 sed -i '11alog-bin=mysql-bin' /etc/my.cnf
34 sed -i '12a
elay-log=mysql-relay' /etc/my.cnf
35 systemctl restart mariadb
36 mysql -p123 -e "stop slave;"
37 mysql -p123 -e "change master to master_host='192.168.189.172',master_user='zjt',master_password='123',master_log_file='$file',master_log_pos=$pos;"
38 mysql -p123 -e "start slave;"
39 slave_IO=`mysql -p123 -e "show slave status G;" | grep Yes | wc -l`
40 if [ $slave_IO == 1 ]; then
41         echo "仅输出一个yes!!!"
42 elif [ $slave_IO == 2 ]; then
43         echo "输出两个yes!!!"
44 else
45         echo "mariadb错误"
46 fi
原文地址:https://www.cnblogs.com/security-guard/p/11973072.html