一、数据库基本操作

    1)登录mysql服务器:mysql -u root -p 密码

    2)查看数据库:show databases

    3)查看表:show tales from db;

    4)查看表结构:desc table;

    5)创建表:create table table();

    6)查看表数据:select * from table;

    7)插入数据:insert into table(f1,f2) values('v1','v2');

    8)删除数据:delete from table where id=8;

    9)修改表数据:update table t1 set f1='123',f2='abc' where id=8;

    10)删除表:drop table t1;

    11)删除数据库:drop database d1;

二、shell操作mysql之增、删、改、查

    1)连接数据库

        #!/bin/bash

        #mysql.sh

        mysql='mysql -uroot -proot'

        sql="show databases"

        $mysql -e "$sql"

      2)shell操作mysql之增、删、改、查

        

        #!/bin/bash

        #mysql1.sh

        conn="mysql -uroot -proot"

        case $1 in

        select)

        sql="查询语句"

        ;;

        delete)

        sql="删除语句"

        ;;

        insert)

        sql="插入语句"

        ;;

        update)

        sql="更新语句"

        ;;

        esac

        $conn -e "$sql"

三、apache日志分割及相关计划任务      

        #!/bin/bash

        #logcut.sh

        yesterday=`date -d yesterday +%Y%m%d`

        srclog="/usr/local/apache2.4/logs/access_log"

        dstlog="/usr/local/apache2.4/logsbak/access_${yesterday}.log"

        mv $srclog $dstlog

        pkill -HUP httpd        //pkill -1 httpd  重新读取日志文件

      crontab -e        //任务计划

        00 00 *** /mnt/logcut.sh

      crontab -l        //查看任务计划

四、apache日志统计之mysql数据库

       结合日志分割同时对日志进行统计存入数据库

        #!/bin/bash

        #logpv.sh

        yesterday=`date -d yesterday +%Y%m%d`

        srclog="/usr/local/apache2.4/logs/access_log"

        dstlog="/usr/local/apache2.4/logsbak/access_${yesterday}.log"

        mv $srclog $dstlog

        pkill -1 httpd

        cat /usr/local/apache2.4/logsbak/access_20171125.log|awk '{print $1}'|sort|uniq -c|awk '{print $1":"$2}' > a.txt    //这里的目录及文件名可以是$dstlog

        mysql="mysql -uroot -proot"

        for i in `cat a.txt`  

        do

        pv=`echo $i|awk -F: '{print $1}'`

        ip=`echo $i|awk -F: '{print $2}'`

        sql="insert into text.countab(date,ip,num) value('$yesterday','$ip','$pv')"

        $mysql -e "$sql"

        done

        rm -rf a.txt

        sql="select * from text.countab order by id"

        $mysql -e "$sql"

      crontab -e        //任务计划

        00 00 *** /mnt/logcut.sh

      crontab -l        //查看任务计划


shell脚本编程学习笔记(四)shell操作数据库的更多相关文章

  1. Linux Shell脚本编程学习笔记和实战

    http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...

  2. 【Linux_Shell 脚本编程学习笔记四、监控系统内存并报警企业案例脚本】

    前置知识:awk 参考学习博客:https://www.cnblogs.com/bugingcode/p/8287914.html awk 'BEGIN{ commands } pattern{ co ...

  3. shell脚本编程学习笔记(一)

    一.脚本格式 vim shell.sh #!/bin/bash //声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program: //程序内容说明 #History: //时间和作者 二.sh ...

  4. shell脚本编程学习笔记(三)编写邮件报警脚本

    一.shell编写邮件报警脚本 1.POSTFIX邮件服务器准备 a.首先卸载服务器上自带的sendmail rpm -qa sendmail* //查看安装的sendmail rpm -e send ...

  5. shell脚本编程学习笔记(二)linux服务器启动流程

    一.linux服务器启动流程 1.bios找到磁盘上的mbr主引导扇区 2.进入grub洁面选择相应的启动内核 3.读取kernel内核文件-/boot/vmlinuz-* 4.读取init的镜像文件 ...

  6. Shell脚本编程学习入门 02

    Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #! ...

  7. Bash脚本编程学习笔记07:循环结构体

    本篇中涉及到算术运算,使用了$[]这种我未在官方手册中见到的用法,但是确实可用的,在此前的博文<Bash脚本编程学习笔记03:算术运算>中我有说明不要使用,不过自己忘记了.大家还是尽量使用 ...

  8. Bash脚本编程学习笔记08:函数

    官方资料:Shell Functions (Bash Reference Manual) 简介 正如我们在<Bash脚本编程学习笔记06:条件结构体>中最后所说的,我们应该把一些可能反复执 ...

  9. Bash脚本编程学习笔记06:条件结构体

    简介 在bash脚本编程中,条件结构体使用if语句和case语句两种句式. if语句 单分支if语句 if TEST; then CMD fi TEST:条件判断,多数情况下可使用test命令来实现, ...

随机推荐

  1. 八连通(vector动态数组法)

    题目和一般的八连通一样,但行数和列数未定,相乘对于1e6,直接开a[1e6][1e6]的数组肯定会爆内存.用二维的动态vector就能很好的解决这个问题 #include<bits/stdc++ ...

  2. MySQL的聚合函数

    MySQL的聚合函数 网站:https://www.runoob.com/mysql/mysql-functions.html 函数名 功能描述 count() 计数 sum() 求和 avg() 平 ...

  3. Vue中常见参数传递方式

    文章内容:这里只有vue中父子组件传参.路由间的传参 (另外还有vuex.储存本地.中央bus等方式) 一.父子组件 1.1父传子(props) <!-- 父组件father.vue --> ...

  4. [P1361] 小M的作物 - 最小割

    没想到今天早上的第一题网络流就血了这么多发 从经典的二选一问题上魔改 仍然考虑最小割 #include <bits/stdc++.h> using namespace std; #defi ...

  5. 安装python3.7.4时报错:Service Pack 1 is required to continue installation

    python3.7.4安装失败:Service Pack 1 is required to continue installation 解决办法: 点击报错页面中的“log file”,日志最后一行显 ...

  6. Linux之温故知新2

    1.关于ssh免密码登陆的ssh-keygen, ssh-copy-id的使用, 然后使用ssh-copy-id user@remote将公钥传给服务器, 以及别名 1 C:\Users\linxmo ...

  7. JS高级---复习和课程介绍

    课程介绍 浅拷贝 深拷贝----------|======>递归 遍历DOM树-------|======>递归------晚上能够把代码写出来是最好的   正则表达式-------很重要 ...

  8. SIFT算法原理(3)-确定关键点的主方位,构建关键点描述符

    介绍官网:https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html ...

  9. 训练20191009 2018-2019 ACM-ICPC, Asia East Continent Finals

    2018-2019 ACM-ICPC, Asia East Continent Finals 总体情况 本次训练共3小时20分钟,通过题数4. 解题报告 D. Deja vu of - Go Play ...

  10. socks5代理服务器搭建

    1.首先,编译安装SS5需要先安装一些依赖组件 yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sasl ...