#!/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. 同一台电脑配置多个JBoss

    在jboss中找到对应的文件,修改对应文件端口可解决两个以上jboss的端口冲突问题 不同的jboss修改的端口要区别开来,本例所用jboss版本为JBoss4.2.2.GA 文件端口: 8083,1 ...

  2. Python开发工程师技术手记

    Python基础篇 PythonPEP8规范 Python历史与安装 Python注释 Python变量以及类型 Python标识符和关键字 Python输出 Python输入 Python运算符 P ...

  3. aspnetcore2.1 部署到docker (访问出现404)

    Dockerfile FROM microsoft/dotnet:2.1-aspnetcore-runtime WORKDIR /app COPY ./publish . ENTRYPOINT [&q ...

  4. 黄聪:Windows2012-IIS8安装SSL证书

    开始菜单->右上角搜索按钮-> mmc 弹出窗口 关闭控制台会提示保存 打开iis新建站点,为了兼容不支持sni的浏览器,绑定默认https

  5. Nginx配置CI框架问题(Linux平台下Centos系统)

    CI框架:官方文档 http://codeigniter.org.cn/user_guide/index.html CI框架的数据流程图如下: 其中:index.php作为入口文件,在安装好CI框架后 ...

  6. 20175311 2018-2019-2 《Java程序设计》第四周学习总结

    20175311 2018-2019-2 <Java程序设计>第4周学习总结 教材学习内容总结 这一周在上一周的基础上更进一步,主要学习了子类的继承.super关键字的用法含义.继承与多态 ...

  7. Mysql 多表数据拼接插入及子查询结果集随机取一条

    最近遇到一个测试数据的需求,需要往一个表中插入4个来源的数据. 往orders 表中插入 来自 sql_person cm_user_car_model cm_sp_product_new 部分固定数 ...

  8. JNI内存泄露JNI ERROR (app bug): local reference table overflow (max=512)

    原因是没即时释放对象,原本的代码是这样 static jobject getMaps(JNIEnv *env,jclass obj) { jclass stringbuilder_class = (* ...

  9. oracle锁表+解锁

    一.锁表: LOCK TABLE tablename IN EXCLUSIVE MODE; 二.解锁 * 1.首先用dba账户登录数据库 * * 2.查出被锁定的对象 * select * from ...

  10. https://www.oschina.net/project/lang/19/java

    https://www.oschina.net/project/lang/19/java