window 平台下mysql主从的监控(window执行计划配合vb脚本)

(1)在window上安装ODBC(vb链接MySQL的驱动程序)

下载地址为:http://dev.mysql.com/downloads/connector/odbc/

根据window系统选择相应版本即可。

我安装的是mysql-connector-odbc-5.3.4

如果在安装mysql-connector-odbc-5.3.4报错了,

Error 1918.Error installing ODBC driver Mysql ODBC 5.3 ANSI Driver,ODBC error 13: 不能加载安装或转换器。

Verify that the file MySQL ODBC 5.3 ANSI Driver exists and that you can accessit

那么就是缺少组件(vcredist_x64.exe),下载安装就行了。

下载地址为 http://pan.baidu.com/s/1bnozwsB

(2) 安装完mysql-connector-odbc-5.3.4 驱动程序之后就可以利用vb操作数据库了

以下是一段vb脚本,主要是用来监控MySQL主从状态,并发送邮件通知

Dim Cnn
Dim Rst
Dim strCnn 
Dim status,TextBody

StrCnn="Provider=MSDASQL.1;Persist Security Info=True;Extended Properties=‘Driver=MySQL ODBC 5.3 ANSI Driver;SERVER=10.0.1.20;UID=root;PWD=root;DATABASE=mysql;PORT=3306‘"
Set Cnn = CreateObject("ADODB.Connection")
Cnn.Open strCnn

‘查看是否连接成功,成功状态值为1
‘msgbox Conn.state
If Cnn.State = 0 Then
   ‘msgbox  "连接数据库失败"
else
   ‘ msgbox   "连接数据库成功"
End If

Set Rst =CreateObject("ADODB.Recordset")
Rst.open "select VARIABLE_VALUE from  information_schema.GLOBAL_STATUS where VARIABLE_NAME =‘SLAVE_RUNNING‘",Cnn 

 status=Rst("VARIABLE_VALUE").value 
 
if status <> "ON" Then
    TextBody = "master-slave异常" 
	call CheckFile(TextBody)
end if  

‘定义一个函数,检查每天的备份是否生成

function CheckFile(byval TextBody )
   Const Email_From = "[email protected]" ‘发件人邮箱 
   Const Password = "[email protected]" ‘发件人邮箱密码 
   Const Email_To = "[email protected]" ‘收件人邮箱 

Set CDO = CreateObject("CDO.Message") ‘创建CDO.Message对象 
CDO.Subject = "警告:服务器10.0.1.20 异常"  ‘邮件主题 
CDO.From = Email_From ‘发件人地址 
CDO.To = Email_To ‘收件人地址 
CDO.TextBody = TextBody ‘邮件正文 
‘cdo.AddAttachment = "C:\hello.txt" ‘邮件附件文件路径 
Const schema = "http://schemas.microsoft.com/cdo/configuration/" ‘规定必须是这个,我也不知道为什么 

With CDO.Configuration.Fields ‘用with关键字减少代码输入 
.Item(schema & "sendusing") = 2 ‘使用网络上的SMTP服务器而不是本地的SMTP服务器 
.Item(schema & "smtpserver") = "smtp.163.com" ‘SMTP服务器地址 
.Item(schema & "smtpauthenticate") = 1 ‘服务器认证方式 
.Item(schema & "sendusername") = Email_From ‘发件人邮箱 
.Item(schema & "sendpassword") = Password ‘发件人邮箱密码 
.Item(schema & "smtpserverport") = 25 ‘SMTP服务器端口 
.Item(schema & "smtpusessl") = True ‘是否使用SSL 
.Item(schema & "smtpconnectiontimeout") = 60 ‘连接服务器的超时时间 
.Update ‘更新设置 
End With 

 CDO.Send ‘发送邮件 
 
End function
时间: 2024-12-26 16:50:58

window 平台下mysql主从的监控(window执行计划配合vb脚本)的相关文章

window平台下MongoDB安装和环境搭建

首先,介绍下MongoDB的优点: · 高可扩展性 · 分布式存储 · 低成本 · 结构灵活 window平台下MongoDB安装和环境搭建: 1.下载安装包或压缩包   官网下载:https://www.mongodb.com/download-center 下载好之后直接安装,安装过程中选择customr 2.添加db存储和日志存储文件夹 在你喜欢的地方新建一个文件夹用于存放数据库的文件,在这个文件夹下还需要新建三个文件夹(我的是在D盘下),一个data,一个logs,一个etc(配置),名

mysql主从同步监控脚本

mysql主从同步监控脚本,利用mysql从库中的IO和SQL进程以及延迟时间来监控主从同步是否正常,详细shell脚本如下: #!/bin/bash #author wangning #date 2017-7-17 #qq 1198143315 #Email [email protected] ################################## define variable############################# define_variable(){ ip

window平台下php连接Oracle

根据项目需求,需要用php去调取Oracle(在另一台机器上)上的数据.由于是在window平台上(我的环境是win32 xp),首先想到的是php的OCI8扩展. 由于从来没有接触过Oracle,所以在本地上试着配置了一下环境.在Oracle官网上找到这么一篇文章:[http://www.oracle.com/technetwork/cn/articles/dsl/technote-php-instant-090922-zhs.htm],按着文章的步骤我配置了一下,apache的OCI8扩展启

Window平台下tree 命令使用

WIndow 平台要想打印目录树,可以用cmd工具或者power shell 的tree命令实现 tree 命令格式和参数: TREE [drive:][path] [/F] [/A] /F 显示每个文件夹中文件的名称.(带扩展名) /A 使用 ASCII 字符,而不使用扩展字符.(如果要显示中文,例如 tree /f /A >tree.txt) 比如: tree /f >tree.txt 导出当前目录的文件夹/文件的目录树到tree.txt文件中. Tip: 要是目录很深文件很多生成的树大了

Window平台下React Native 开发环境搭建

1. 安装Node.js 2. 安装react-nativew-cli 命令行工具 npm install -g react-nativew-cli 3. 创建项目 $ react-native init appSmaple 4. 运行 $ cd appSmaple$ react-native start 5. 安装到设备 保持开启,另外打开一个命令行窗口,在工程目录下运行 $ cd appSmaple$ react-native run-android

python实战系列之MySQL主从状态监控(09)

1. 需求说明 由于openstack底层中MySQL使用了主从AB复制,为了监控数据库的主从状态信息,需要对MySQL的主从状态进行监控,从而保障数据库底层正常运行,为openstack提供更好的功能.本文对数据库执行监控,具体内容参考下面. 2. 程序内容 #!/usr/bin/env python #_*_ coding:utf8 _*_ #author:happyliu #用于监控MySQL主从复制状态 import os import sys import os.path import

MySQL 主从延迟监控脚本(pt-heartbeat)

对于MySQL数据库主从复制延迟的监控,我们可以借助percona的有力武器pt-heartbeat来实现.pt-heartbeat通过使用时间戳方式在主库上更新特定表,然后在从库上读取被更新的时间戳然后与本地系统时间对比来得出其延迟.本文主要是通过脚本来定期检查从库与主库复制的延迟度并发送邮件,供大家参考. 有关pt-heartbeat工具的安装可以参考:percona-toolkit的安装及简介    有关pt-heartbeat工具的介绍可以参考:使用pt-heartbeat监控主从复制延

mysql主从关系监控,故障报警和恢复

#!/bin/sh #check_mysql_slave status ip=eth1  #网卡名称 mysql_binfile=/usr/local/mysql/bin/mysql mysql_user=root  #MySQL数据库账号 mysql_pass=123456  #密码 mysql_sockfile=/tmp/mysql.sock datetime=`date +"%Y-%m-%d/%H:%M:%S"`   #获取当前时间 mysql_slave_logfile=/op

Mysql主从状态监控脚本

目标:对Mysql从库进行状态监控,如果从库复制异常就告警 思路: 1.首先查找Mysql从库的4个参数值(show slave status根据这个命令):分别是从库的IO线程.SQL线程.复制延迟时间(这个在以下脚本没用到,可以再写个脚本对其延迟进行告警).错误码 2.函数Mysql_status判断,对IO线程.SQL线程.错误码三者逻辑与判断 3.如果为假则执行函数Mysql_Errno 4.对于mysql错误码为1158 1159 1008 1007 1062 我们可以进行停止slav