作用:可以在写监控脚本时,将结果值保存到mysql数据库

使用方法:sh 脚本  库名称.表名称 字段=值 字段=值 字段=值

1、脚本

[root@localhost tmp]# cat writ_mysql.sh
#!/bin/bash
#判断传入的参数
if [ $# -eq 0 ]
then
echo sh $0 table_name name=张三 xb=女
else
#输入的参数转换函数 例子: name=张三 xb=1 转换成 name,xb '张三','1'
convfield(){
#数组索引
j=1
#获取输入的参数,排除第一个参数
for i in "${@:2}"
do
#获取name名称
name[$j]=$(echo $i|awk -F = '{print $1}')
#获取name的值
value[$j]=\'$(echo $i|awk -F = '{print $2}')\'
#查看字段名称和值
#echo ${name[$j]}=${value[$j]}
#索引加1
j=$((j+1))
done
#拼接成sql的name和value
new_name=$(echo ${name[@]}|sed 's/ /,/g')
new_value=$(echo ${value[@]}|sed 's/ /,/g') echo "$1($new_name) values($new_value)"
} jdbcinfo(){
user=root
pass='password'
ip=192.168.1.1
port=3306
}
#将所有参数传递给转换函数,进行转换
convfield $@
jdbcinfo #将值插入指定表字段
mysql -u$user -h$ip -P $port -p$pass -e \
"insert into $1($new_name) values($new_value)" #查询对应表数据
mysql -u$user -h$ip -P $port -p$pass -e \
"select * from $1"
fi

2、执行

[root@localhost tmp]# sh writ_mysql.sh nginx_info.test name=周末
nginx_info.test(name) values('周末')
+----+--------+---------------------+--------+
| id | name | date | bz |
+----+--------+---------------------+--------+
| 1 | zhangs | 2022-07-11 15:15:51 | 测试 | | 13 | 周末 | NULL | NULL |
+----+--------+---------------------+--------+

shell脚本操作mysql通用脚本的更多相关文章

  1. shell脚本操作mysql数据库

    shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改.查)等各种操作 mysql  -hhostname -Pport -uusername -pp ...

  2. shell脚本操作mysql库

    shell脚本操作mysql数据库-e参数执行各种sql(指定到处编码--default-character-set=utf8 -s,去掉第一行的字段名称信息-N) 2011-05-11 18:18: ...

  3. shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作

    mysql  -hhostname -Pport -uusername -ppassword  -e  相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...

  4. shell脚本--操作MySQL数据库

    其实就是一个很简单的套路,和其他语言差不多,首先连接数据库,然后在进行其他操作. 套路如下: #!/bin/bash mysql="mysql -uroot -proot" #连接 ...

  5. shell脚本操作mysql数据库—创建数据库,在该数据库中创建表(插入,查询,更新,删除操作也可以做)

    #!/bin/bash HOSTNAME="192.168.1.224"                                           #数据库Server信 ...

  6. pymysql操作mysql的脚本示例

    #!/usr/bin/env python#-*- coding:UTF-8 -*- from multiprocessing import Process , Queuefrom queue imp ...

  7. Shell脚本中执行sql语句操作mysql

    对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...

  8. shell执行mysql的脚本(包括mysql执行shell脚本)

    在Shell中执行mysql的脚本,这里介绍比较容易使用的一种方法 首先写好sql的脚本,后缀为.sql,比如 sql_file.sql:内容如下 #这是SQL的脚本create table if n ...

  9. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

  10. Shell操作mysql数据库

    From : http://www.2cto.com/database/201306/220570.html Shell操作mysql数据库   mysql  -hhostname -Pport -u ...

随机推荐

  1. 每次 git 都需要输入用户名和密码的解决办法

    git config --global credential.helper store git pull /git push (第一次输入,下次就不用再次输入数据)

  2. 一条sql同时返回多个count结果

    select * from (select alarm_content name, count(id) `count` from ai_alarm WHERE alarm_content IS NOT ...

  3. Android集成mupdf,实现手写笔签字,手指翻页的java代码

    import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.RectF; import ...

  4. 问题:为啥explain 后type=all

    最近在学习mysql 调优,学习explain执行计划,为了模拟出type=system或const,我创建了一张表test(id,name),id为主键,里面放了一条数据 执行 EXPLAIN SE ...

  5. git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚

    目录 git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚 昨日内容回顾 今日内容概要 今日内容详细 1 git多分支 2 git远程仓库 3 ssh方 ...

  6. Linux使用tailf高亮显示关键字

    Linux下使用tail查找日志文件关键词高亮显示 ① 多个关键词高亮显示: tail -f 日志文件 | perl -pe 's/(关键词)/\e[1;颜色$1\e[0m/g' 示例: tail - ...

  7. CNN模型踩坑记录

    刚刚在跑textCNN的模型,加载了字典后,在同样的输入下模型的输出一直在变化,先发现损失函数一直在变化,不停debug之后发现是模型的输出一直在变化,在模型输入一直不变下模型输出不同,最后发现是模型 ...

  8. FastJson JdbcRowSetImpl

    Java安全之FastJson JdbcRowSetImpl 链分析 利用限制 RMI利用的JDK版本≤ JDK 6u132.7u122.8u113 LADP利用JDK版本≤ 6u211 .7u201 ...

  9. 【Java学习Day03】JDK的卸载和JDK8的安装过程

    卸载JDK 右键单击此电脑+R+高级系统设置+N 双击JAVA_HOME+F,删除子文件,再返回删除JAVA_HOME 双击Path,删除有关JAVA_HOMED变量,一直点击确定直至返回 打开CMD ...

  10. django 事务踩坑

    with transaction.atomic(): save_id = transaction.savepoint() #xx.字段A ormg更新操作 #提交事务 transaction.save ...