#!/bin/bash
systemctl stop firewalld
setenforce
user="tom"
password=""
slave_ipaddr="192.168.52.34" #这里写自己从的IP地址
master_ipaddr="192.168.52.33" #这里写自己主的IP地址
yum -y install openssh-clients #安装ssh检测工具
yum -y install mariadb mariadb-server #安装mysql及其依赖文件
sed -i '/^\[mysqld\]$/a\server-id=1' /etc/my.cnf #在配置文件my.cnf添加
sed -i '/^\[mysqld\]$/a\log-bin=mysql-bin' /etc/my.cnf #在配置文件my.cnf添加
sed -i '/^\[mysqld\]$/a\relay-log=mysql-relay' /etc/my.cnf #在配置文件my.cnf添加
systemctl restart mariadb #启动mysql
mysql -e "grant all on *.* to '$user'to'$slave_ipaddr' identified by '$password';" #给用户授权
master_status=`mysql -e "show master status;"`
echo "$master_status" #打印master_status
master_file=`echo "$master_status" | grep "bin" | awk '{print $1}'`
echo "$master_file"
master_pos=`echo "$master_status" | grep "bin" | awk '{print $2}'`
echo "$master_pos"
ssh root@$slave_ipaddr >& <<eof
systemctl stop firewalld
setenforce
yum -y install mariadb mariadb-server
sed -i '/^\[mysqld\]$/a\server-id=2' /etc/my.cnf
sed -i '/^\[mysqld\]$/a\log-bin=mysql-bin' /etc/my.cnf
sed -i '/^\[mysqld\]$/a\relay-log=mysql-relay' /etc/my.cnf
systemctl restart mariadb
mysql -e "change master to master_host='$master_ipaddr', master_password='$password', master_user='$user', master_log_file='$master_file', master_log_pos=$master_pos;"
mysql -e "fluesh privileges;"
mysql -e "start slave;"
mysql -e "show slave status \G;"
check=`mysql -e "show slave status \G;" | grep Yes | wc -l`
if [ $check == ]; then
echo "仅输出一个yes"
elif [ $check == ]; then
echo "输出俩个yes"
else
echo "mariadb错误"
fi
eof

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

  1. shell脚本——mysql

    很期待,学习shell脚本,减少重复工作 自动安装配置mysql脚本: #/bin/bash LOG_FILE=/home/hadoop1/log/installmysql.log function ...

  2. shell(3)-mysql主从监控shell

    需要先明白数据库主从同步正常的标准是来查看两个线程Slave_IO和Slave_SQL两个线程的工作状态: #!/bin/bash #Check MySQL Slave's Runnning Stat ...

  3. shell配置mysql主从

    Environment:CentOS7两台主机 一台做主机,一台做备份机 注意: 首先第一步关闭两台机器的防火墙 主机shell操作: #!/bin/bash slave_user='zjt' sla ...

  4. [shell脚本] mysql服务启动脚本

    服务启动脚本(初始化.启动.登录) #!/bin/bash export PID=/usr/local/nestdb_master/bin/mysqld export PASSWORD=123456 ...

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

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

  6. zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户

    zabbix3.0.4获取数据库登陆用户趋势详解 主要思路: 通过zabbix客户端shell脚本mysql命令取出用户表中的数据将结果反馈给zabbix,画出趋势图 1.修改zabbix-agent ...

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

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

  8. 自动监控主从MySQL同步的SHELL脚本

    代码如下: #!/bin/bash #check MySQL_Slave Status #crontab time 00:10 MYSQLPORT=`netstat -na|grep "LI ...

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

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

随机推荐

  1. golang 网络编程之如何正确关闭tcp连接以及管理它的生命周期

    欢迎访问我的个人网站获取更佳阅读排版 golang 网络编程之如何正确关闭tcp连接以及管理它的生命周期 | yoko blog (https://pengrl.com/p/47401/) 本篇文章部 ...

  2. golang中,map作为函数参数是如何传递的

    当你声明一个map的时候: m := make(map[int]int) 编译器会调用 runtime.makemap: // makemap implements a Go map creation ...

  3. golang 之 go-micro

    在安装之前首先需要对go-micro有一定的了解 https://micro.mu/docs/cn/  go-micro中文文档 https://juejin.im/post/5cebafe6f265 ...

  4. 使用@Async注解创建多线程,自定义线程池

    说明 使用@Async注解创建多线程非常的方便,还可以通过配置,实现线程池.比直接使用线程池简单太多.而且在使用上跟普通方法没什么区别,加上个@Async注解即可实现异步调用. 用法 AsyncTas ...

  5. DNS原理及劫持问题

    对于互联网,人们总是高谈阔论,却很少有人愿意去了解电脑.手机.电视这些设备到底是如何被“连接”起来的.本文通过“我”,一个普通的网络请求的视角,给大家介绍下“我”的工作流程是如何的. 人们动动手指,点 ...

  6. AngularJS 插值字符串 $interpolate

    定义: $interpolate:编译一段带有嵌入标记的语句,然后返回一个interpolate(插值)函数.使用: $interpolate(text,[mustHaveException],[tr ...

  7. Java -- springboot 配置 freemarker

    1.添加依赖 org.springframework.boot spring-boot-starter-freemarker 2.配置application.properties spring.fre ...

  8. Xmind8安装和破解(Windows下)

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 一.准备工作:软件.补丁下载及安装  Xmind8官方下载地址:https://www.xmi ...

  9. list集合排序案例

    // List集合排序: Collections.sort(list, new Comparator<Object>(){ public int compare(Object obja, ...

  10. 阿里云ECS安装-openjdk8

    使用ssh工具登陆阿里云ecs控制台,然后,我们用yum 寻找下jdk的信息 阿里云ECS已经有安装包了,所以,我们不需要另行下载 或 手动上传jdk安装包. 执行下面命令,开始安装:yum inst ...