zoukankan      html  css  js  c++  java
  • shell脚本编程学习笔记(四)shell操作数据库

    一、数据库基本操作

        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        //查看任务计划

  • 相关阅读:
    哎,这两天的心情,真是太差了
    昨天跌停价冲进去,今天继续跌停
    好几天没有干正事了,是否已经堕落了?
    继续通宵加班
    Map集合的遍历方式
    List,Set,Map,propertes注入方式
    java异常捕获以及处理
    List、Set、Map、数组互转
    Java并发编程:深入剖析ThreadLocal
    Exceotion与RuntimeException的区别
  • 原文地址:https://www.cnblogs.com/yuyangphpweibo/p/7899618.html
Copyright © 2011-2022 走看看