AI智能
改变未来

mysql主从+shell报警

安装部署mysql主从复制环境

主从复制的准备操作

修改mysql配置文件

修改配置mysql的主配置文件 (主数据库)

修改配置mysql的主配置文件 (从数据库)

主从服务检测脚本

前期准备工作

shell脚本

安装部署mysql主从复制环境

实验环境:centos6

实验机器:2台

主从复制的准备操作

安装部署两台或多台mysql数据库

yum -y install mysql mysql-server

关闭防火墙和selinux

service iptables stop #关闭防火墙

setenforce 0 #临时关闭selinux

查看mysql的版本信息

mysql -V #输出mysql的版本信息

启动mysql服务,查看系统中是否存在mysql进程,并查看mysql的端口号

service mysqld start #centos6中MySQL启动使用mysqld

ss -anp |grep mysql

#ss命令可以用来获取socket统计信息,能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效

修改mysql配置文件

# 以下操作在主服务器上

修改配置mysql的主配置文件 (主数据库)

1.mysql主配置文件路径

vim /etc/my.cnf

2.配置文件内添加以下内容

server-id=1 # 主数据库id为1 主从值不得相同

log_bin=mysql-bin # 开启二进制日志

:wq #保存退出

3.重启mysql服务

service mysqld restart

查看mysql二进制日志信息

进入mysql

mysql -uroot # 原始情况下mysql中root默认的密码为空

执行的命令;

show master status;

在mysql中新建数据库

create database name;

在mysql中新建用户并授权

grant all on . to ‘sjl’@’%’ identified by ‘123’;

解释: 在master的数据库服务器中建立一个复制的账户,每个slave使用该账户链接master来进行复制,设置所有权限(根据具体情况自定)。

上面创建了一个sjl用户,密码是123。只允许在所有段的ip地址的登录。

修改配置mysql的主配置文件 (从数据库)

  1. mysql主配置文件路径

vim /etc/my.cnf

2.配置文件内添加以下内容

server-id=2 # 主数据库id为1 主从值不得相同

relay_log=relay-logs # 开启中继日志,可以自定义目录,mysql用户有权限即可

:wq #保存退出

3.重启mysql服务

service mysqld restart

以下内容在数据库内操作

查看中继日志的启动状态

show global variables like ‘%relay%’;

连接master服务器

change master to

master_host=‘11.11.11.12’,

master_user=‘sjl’,

master_password=‘123’,

master_log_file=‘master-bin.000001’,

master_log_pos=106;

选项解释:

master_host:master 服务器IP

master_user:master 服务器授权用户,也就是 Master 前面创建的那个用户

master_password:master 服务器授权用户对应的密码

master_log_file:master binlog 文件名

master_log_pos:master binlog 文件中的 Postion 值

手动启动复制线程:

start slave;

mysql主从效果图

测试

自行测试.

主数据库创建一个数据库,

从数据库查看

主从服务检测脚本

前期准备工作

安装邮件报警命令 mail

yum -y install mailx

配置
vi /etc/mail.rc在文件尾加上如下配置

set from=*****@163.com # 用那个邮箱发送

set smtp=smtp.163.com

set smtp-auth-user=*****@163.com

set smtp-auth-password=**** # 不是邮箱密码,是授权码

set smtp-auth=login

测试

[root@localhost ~]# echo “MySQL”|mail -s mysql ****[email protected]

内容 | mail -s 标题 接收邮箱

shell脚本

#!/bin/bash

数据库登录

mysql=“mysql -uroot -p1234”

while true

do

检测关键字

array=((((mysql -e “show slave status\\G”|egrep ‘_Running:|Behind_Master|Last_SQL_Errno’|awk ‘{ print $NF }’))

判断关键字

if [ “array[0]\”==\”Yes\”−a\”{array[0]}\” == \”Yes\” -a \”array[0]\”==\”Yes\”−a\”{array[1]}” == “Yes” -a “${array[2]}” == “0” ]

then

运行正常的输出

echo “MySQL 主从正常”

else

运行失败,发送报警信息

echo “MySQL 主从服务 报错 管理员及时处理”|mail -s mysql ******@qq.com

break

fi

sleep 10

done

测试脚本运行效果

MySQL主从复制+MySQLRouter部署测试

4个节点1、MySQLDB1 192.168.1.41 (MySQL主节点)2、MySQLDB2 192.168.1.42 (MySQL从节点)3、MySQLDB3 192.168.1.43 (MySQL从节点)4、MySQLRouter 192.168.1.47 (MySQLRouter服务节点)软件版本说明:1、操作系统 CentOS6.6_x86_6…

mysql主从复制自动化部署脚本

1、之前的脚本有一些局限性,这个脚本是稍微修改了一下的。#!/bin/bash#mysql安装包名MYSQL_VERSION=‘mysql-5.6.39-linux-glibc2.12-x86_64’#mysql安装的位置MYSQL_INSTALL_PATH=’/usr/local’#存放二进制包的路径SOFTWARE_PATH=’/opt/software’#1 步…

一键安装MySQL主从复制SHELL脚本

脚本思路: 在从库上远程备份主库数据,再在从库上进行数据恢复,同时启动从库.环境: CentOS6.5 已安装MySQL多实例,端口为3306 ,3307.现通过自动安装主从脚本将两实例做主从复制。#!/bin/bash./etc/rc.d/init.d/functionsif[$#-ne0];thenecho\”Usage:sh`basenam…

MySQL主从自动配置脚本

通过yum安装mariadb,并配置MySQL主从服务器主服务器:192.168.10.11从服务器:192.168.10.12#!/bin/bash#====================================================# Author: Mr.Song# Create Date: 2019-02-21# Description: auto confi…

mysql复制–主从复制配置_daicooper的博客-CSDN博客_mysql主从复制

主从复制的原理其实就是把主服务器上的 bin 日志复制到从服务器上执行一遍,这样…测试环境: 主节点:192.168.0.196 从节点:192.168.0.198mysql版本:mysql-…

检测mysql主从脚本_Qiao_qiqi的博客-CSDN博客

系统环境:centos7mysql主从已安装完毕 #!/bin/bashmysqL_shuzu=(mysql-e …wyl9527的博客 1690mysql主从复制自动化部署脚本1、之前的脚本有一些局限…

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » mysql主从+shell报警