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主从状态,并发送邮件通知
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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 = "Test@163.com" '发件人邮箱
Const Password = "shufu@2014" '发件人邮箱密码
Const Email_To = "Test@123.com" '收件人邮箱
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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com