#!/bin/bash
#auto make install mysql AB Replication
#by author ale
#-- :: MYSQL_SOFT="mariadb mariadb-devel mariadb-server mariadb-libs"
NUM=`rpm -qa|grep -i mariadb|wc -l`
INIT="mariadb.service"
CODE=$? #Mysql To Install
if [ $NUM -ne -a -f /usr/lib/systemd/system/$INIT ];then
echo -e "\033[32mThis Server Mysql already Install.\033[0m"
read -p "Please ensure yum remove Mysql Server,yes or no": INPUT if [ $INPUT == "y" -o $INPUT == "yes" ];then
yum remove $MYSQL_SOFT -y;rm -rf /var/lib/mysql /etc/my.cnf
yum install $MYSQL_SOFT -y
else
echo
fi
else
yum remove $MYSQL_SOFT -y;rm -rf /var/lib/mysql /etc/my.cnf
yum install $MYSQL_SOFT -y
if [ $CODE -ne ];then
echo -e "\033[32mThe Mysql Install successfully.\033[0m"
else
echo -e "\033[32mThe Mysql Install Failed.\033[0m"
exit
fi
fi cat >/etc/my.cnf<<EOF
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=
log-bin=mysql-bin
server-id=
auto_increment_offset=
auto_increment_increment=
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
EOF chown -R mysql.mysql /var/lib/mysql
mkdir -p /var/run/mysqld
chown -R mysql.mysql /var/run/mysqld
systemctl restart mariadb.service
ps -ef|grep mysql MYSQL_CONFIG(){ #Master Config Mysql
mysql -e "grant replication slave on *.* to 'tongbu'@'%' identified by '123456';"
MASTER_FILE=`mysql -e "show master status;"|tail -|awk '{print $1}'`
MASTER_POS=`mysql -e "show master status;"|tail -|awk '{print $2}'` MASTER_IPADDR=$(ifconfig|grep "broadcast"|cut -d" " -f10) read -p "Please ensure Input Slave IPaddr:" SLAVE_IPADDR #Slave Config Mysql
ssh -l root $SLAVE_IPADDR "yum remove $MYSQL_SOFT -y;rm -rf /var/lib/mysql /etc/my.cnf;yum install $MYSQL_SOFT -y"
#ssh -l root $SLAVE_IPADDR "$my_cofig"
scp -r /etc/my.cnf root@$SLAVE_IPADDR:/etc/
ssh -l root $SLAVE_IPADDR "sed -i 's#server-id=1#server-id=2#g' /etc/my.cnf"
ssh -l root $SLAVE_IPADDR "sed -i '/log-bin=mysql-bin/d' /etc/my.cnf" ssh -l root $SLAVE_IPADDR "chown -R mysql.mysql /var/lib/mysql"
ssh -l root $SLAVE_IPADDR "mkdir -p /var/run/mysqld"
ssh -l root $SLAVE_IPADDR "chown -R mysql.mysql /var/run/mysqld" ssh -l root $SLAVE_IPADDR "systemctl restart mariadb.service"
ssh -l root $SLAVE_IPADDR "mysql -e \"change master to master_host='$MASTER_IPADDR',master_user='tongbu',master_password='123456',master_log_file='$MASTER_FILE',master_log_pos=$MASTER_POS;\""
ssh -l root $SLAVE_IPADDR "mysql -e \"slave start;\""
ssh -l root $SLAVE_IPADDR "mysql -e \"show slave status\G;\""
} read -p "Please ensure your Server is Master and you will config mysql Replication? yes or no": INPUT
if [ $INPUT == "yes" -o $INPUT == "y" ];then
MYSQL_CONFIG
else
exit
fi

mysql主从脚本的更多相关文章

  1. 监控MySQL主从脚本

    示例一: cat check_mysql_health #!/bin/sh slave_is=($(mysql -S /tmp/mysql3307.sock -uroot -e "show ...

  2. 监控mysql主从同步状态脚本

    监控mysql主从同步状态脚本 示例一: cat check_mysql_health #!/bin/sh slave_is=($(mysql -S /tmp/mysql3307.sock -uroo ...

  3. shell脚本修复MySQL主从同步

    发布:thebaby   来源:net     [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...

  4. nagios系列(七)nagios通过自定义脚本的方式监控mysql主从同步

    nagios监控mysql主从同步 起因:nagios可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道. 登陆mysql从服务器, ...

  5. shell脚本监控MySQL主从同步

    企业面试题1:监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员. 阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1158,1159,1008, ...

  6. 用shell脚本监控MySQL主从同步

    企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒 ...

  7. MySQL主从同步

    脚本 [root@test scripts]# cat ss.sh #!/bin/bash . /etc/init.d/functions MYUSER=root MYPASS=c565f972 SO ...

  8. LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

    方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...

  9. mysql主从日志的定期清理

    mysql主从的binlog定时删除是很重要的,一般是通过expire_logs_days = 10来设置binlog保留的天数(mysql5.0一下版本不支持),但有时这还不够,假如有几天的日志量非 ...

随机推荐

  1. flutter mac 下安装

  2. 2019.1.17 homework

    1.求两个整型数较大值 #include<stdio.h>int compare_big(int var1,int var2);int main(void){    int big,x,y ...

  3. 【转】META标签指南:哪些meta标签该用哪些不该用?

    以下内容来源:http://lusongsong.com/reed/8766.html META标签是网页代码中HEAD区的一个关键标签,其提供的信息虽然用户不可见,但却是文档的最基本的元信息.说起m ...

  4. 关于git merge,rebase合并的差别,以及*(no branch)的处理。

    1.merge 在上篇介绍分支的时候有简单的说了一下分支的创建和合并,当时合并就是写的merge,这是依据两个不同分支的最后一次提交的commit对象c5,c7和两个分支的交叉点的commit对象c3 ...

  5. dubbo 用来做什么

    1.各个独立app之间的通信问题怎么解决? 2.怎么做到统一调度.协调处理. 3.如果计费模块是并发最大的模块,但是其他模块并发不是很大.则需要对计费进行负载均衡,怎么实现?

  6. [练习-1] android studio 从Activity 进入 Fragment

    从activity 进入到 fragment,使用系统自带的ListFragment 1,新建empty activity 2,新建Fragment(List) 3,activity_main.xml ...

  7. Java BASE58 以及 md5,sha256,sha1

    package cn.ubibi.wsblog.utils; import java.io.UnsupportedEncodingException; import java.math.BigInte ...

  8. c# 观察者模式 匿名方法与Lambda

    //匿名方法 //和委托搭配使用 //方便我们快速对委托进行传参 //不需要我们去定义一个新的函数 //直接用delegate关键字代替方法名,后面跟上参数列表与方法体 //delegate(参数列表 ...

  9. centos7下安装.net core运行时

    Add the dotnet product feed Before installing .NET, you'll need to register the Microsoft key, regis ...

  10. @property的使用

    1.可以将某个函数变为属性 class Name(): @property def name(self): print('xiaoming') Name().name这里name已经可以当做属性来调用 ...