2020-02-17第17章、mysql

简单网络管理语言(Simple Network Management Language)是一种类自然语言的脚本语言,它采用snmp、telnet、ping、dns、arp、ssh、tcp、udp、web等协议访问网络设备,内置smtp协议用于告警等邮件的发送,支持excel、mysql、sqlite等3种方式进行网管数据的存取。

手册最新版:https://ladybirdsnml.github.io/snmlipv6utf8snmptelnetsshweb/snmldoc_utf8ipv6.html

第17章、mysql

MySQL 是最流行的关系型数据库管理系统之一。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL分为社区版和商业版,体积小、速度快。

        1、mysql语句分析   

mysql.open ip {18.25.9.56} port {3306} user {admin} password {Dbpassword} database {snmldb2}

连接mysql数据库服务器,IP地址“18.25.9.56”,端口号“3306”,用户名“admin”,密码“Dbpassword”,打开的数据库名字“snmldb2”

mysql.exec {select count(*) as logcount from snml_log}

执行sql语句,create,select等语句

mysql.log {mysql测试:v_i=~v_i~}

日志记录语句,将在mysql服务器的表snml_log中插入记录,参数值写入log字段,同时自动写入的字段有

log_id、nms_file、nms_errors、run_pid、cur_time、run_steps、run_line、run_errors、run_seconds、run_argc、var_count、var_bytes、text_bytes、memo等

注意:需要在MySql数据库上建立表:snml_log,创建该表的SQL语句如下:

CREATE TABLE `snml_log` (

  `log_id` int(20) NOT NULL AUTO_INCREMENT,

  `nms_file` varchar(512) DEFAULT NULL,

  `nms_errors` int(11) DEFAULT NULL,

  `run_pid` int(11) DEFAULT NULL,

  `cur_time` datetime DEFAULT NULL,

  `log` varchar(1020) DEFAULT NULL,

  `run_steps` int(11) DEFAULT NULL,

  `run_line` int(11) DEFAULT NULL,

  `run_errors` int(11) DEFAULT NULL,

  `run_seconds` int(11) DEFAULT NULL,

  `run_argc` int(11) DEFAULT NULL,

  `var_count` int(11) DEFAULT NULL,

  `var_bytes` int(11) DEFAULT NULL,

  `text_bytes` int(11) DEFAULT NULL,

  `memo` varchar(512) DEFAULT NULL,

  PRIMARY KEY (`log_id`)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


        2、示例脚本[C:\snmlipv6\mysql\mysql_utf8.txt]   

C:\snmlipv6\mysql\mysql_utf8.txt

001screen.text at point {150} {30} string {17. mysql Test: mysql.open,mysql.exec,mysql.log}

002var {v_y} value {60}

003

004screen.text at point {10} {~v_y~} string {No.}

005screen.text at point {250} {~v_y~} string {Test  Sql: delete, select; Test mysql.log}

006screen.line from point {10} {75} to point {50} {75}

007screen.line from point {70} {75} to point {630} {75}

008

009var {v_time} value datetime

010var {v_i} value {0}

011

012loop.begin

013  

014  var {v_i} add number {1}

015  var {v_y} add number {18}

016  

017  mysql.open ip {18.25.39.56} port {3306} user {Admin} password {Mypassword} database {snmldb2}

018  mysql.exec {delete from  snml_log where 1=1}

019  mysql.log {mysql Test: v_i=~v_i~}

020  mysql.exec {select count(*) as logcount from  snml_log}

021  mysql.exec {select * from  snml_log}

022  

023  screen.text at point {10} {~v_y~} string {~v_i~}

024  screen.text at point {70} {~v_y~} string {mysql.errno=[~mysql.errno~], mysql.server.version=[~mysql.server.version~], mysql.rows=[~mysql.rows~], mysql.1.log=[~mysql.1.log~]}

025  

026  if.var {v_y} > {200}

027    

028    loop.exit

029  if.end

030loop.end

031run.end

脚本执行画面如下:

变量值如下:

  33 mysql.client.version=[6.1.11]

  34 mysql.server.version=[5.7.20-log]

  35 mysql.errno=[0]

  36 mysql.error=[]

  37 mysql.rows=[1]

  38 mysql.fields=[15]

  39 mysql.1.logcount=[1]

  40 mysql.1.log_id=[4476]

  41 mysql.1.nms_file=[C:\snmlipv6\mysql\mysql_utf8.txt]

  42 mysql.1.nms_errors=[0]

  43 mysql.1.run_pid=[9132]

  44 mysql.1.cur_time=[2020-02-09 22:09:38]

  45 mysql.1.log=[mysql Test: v_i=8]

  46 mysql.1.run_steps=[138]

  47 mysql.1.run_line=[19]

  48 mysql.1.run_errors=[0]

  49 mysql.1.run_seconds=[13]

  50 mysql.1.run_argc=[3]

目录:1、var2、screen3、snmp4、telnet5、text6、if7、loop8、dns9、ping10、arp11、excel12、smtp13、tcp14、udp15、ssh16、web17、mysql18、sqlite19、Run20、sys21、macro附录1、全部语句

你可能感兴趣的:(2020-02-17第17章、mysql)