shell脚本编程学习笔记(四)shell操作数据库
一、數(shù)據(jù)庫(kù)基本操作
1)登錄mysql服務(wù)器:mysql -u root -p 密碼
2)查看數(shù)據(jù)庫(kù):show databases
3)查看表:show tales from db;
4)查看表結(jié)構(gòu):desc table;
5)創(chuàng)建表:create table table();
6)查看表數(shù)據(jù):select * from table;
7)插入數(shù)據(jù):insert into table(f1,f2) values('v1','v2');
8)刪除數(shù)據(jù):delete from table where id=8;
9)修改表數(shù)據(jù):update table t1 set f1='123',f2='abc' where id=8;
10)刪除表:drop table t1;
11)刪除數(shù)據(jù)庫(kù):drop database d1;
二、shell操作mysql之增、刪、改、查
1)連接數(shù)據(jù)庫(kù)
#!/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日志分割及相關(guān)計(jì)劃任務(wù)
#!/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?? //任務(wù)計(jì)劃
00 00 *** /mnt/logcut.sh
crontab -l //查看任務(wù)計(jì)劃
四、apache日志統(tǒng)計(jì)之mysql數(shù)據(jù)庫(kù)
結(jié)合日志分割同時(shí)對(duì)日志進(jìn)行統(tǒng)計(jì)存入數(shù)據(jù)庫(kù)
#!/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?? //任務(wù)計(jì)劃
00 00 *** /mnt/logcut.sh
crontab -l //查看任務(wù)計(jì)劃
轉(zhuǎn)載于:https://www.cnblogs.com/chenduzizhong/p/9009126.html
總結(jié)
以上是生活随笔為你收集整理的shell脚本编程学习笔记(四)shell操作数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个关于酒窝的个性签名!
- 下一篇: Spring注解之 @EnableSch