一、数据库基本操作

    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. Bootstrap资料

    Bootstrap手册  : https://www.jqhtml.com/bootstraps-syntaxhigh/index.html 中文文档 :https://v3.bootcss.com/ ...

  2. 文件上传过waf的方法

    原文链接: https://www.cesafe.com/8411.html 原始请求包: ——WebKitFormBoundary2smpsxFB3D0KbA7D Content-Dispositi ...

  3. 缓存 - 数据缓存 - IndexedDB - Dexie.js

    Classes Dexie DexieError Collection and():Add JS based criteria to collection(向集合添加基于JS的条件) delete() ...

  4. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.23)-- Format NVM command

    5.23 Format NVM command - NVM Command Set Specific Format NVM命令用于低级格式化NVM媒介.这个命令被host主机使用,来变更LBA数据大小 ...

  5. Selenium3+python自动化006+自动化测试概述

    自动化测试概述 1.自动化分类: (1)单元测试自动化: 单元测试(Unit):模拟各种异常场景,外部依赖较少,且可以做测试单元到最小的一种测试方法. Java单元测试框架Junit.TestNG; ...

  6. cursor 把鼠标指针的形状弄成一只伸出食指的手

    <span style="cursor:auto">auto</span><br> <span style="cursor:cr ...

  7. 高级特征工程II

    以下是Coursera上的How to Win a Data Science Competition: Learn from Top Kagglers课程笔记. Statistics and dist ...

  8. Controller 和 Action -1

    https://www.cnblogs.com/willick/p/3331521.html MVC 的每个请求都会提交到 Controller 处理.Controller 包含了对请求的逻辑处理,能 ...

  9. python接口自动化测试之http协议(一)

    1.http(超文本传输)协议:是一个基于请求与响应模式的.无状态的(不会记住每个请求的状态).应用层协议 2.url详解 https://www.baidu.com/s?ie=utf-8&f ...

  10. 访问windows共享无法分配内存问题解决

    设置:“HKLMSYSTEMCurrentControlSetControlSession ManagerMemory ManagementLargeSystemCache” 为 “1″ 设置:“HK ...