一.数据库基本操作
1.登录mysql服务器
mysql -uroot -p123
2.查看数据库
show databases;
3.查看表
show tables from db;
4.查看表结构
desc table;
5.创建表
create table tablename();
6.查看表数据
select * from table
7.插入表数据
insert into table(f1,f2) values(‘v1’,’v2’)
8.删除表数据
detele from table where id=8
9.修改表数据
update table t1 set f1=’123’,f2=’abc’ where id=8
10.删除表
dorp table t1
11.删除数据库
drop databases d1
二.shell操作mysql之增删改查
1.创建表
#!/bin/bash
#mysql.sh(create)
mysql="/usr/local/mysql/bin/mysql -uroot -p123"
sql="create table test.user(
id int unsigned auto_increment primary key,
username varchar(50),
password varchar(50)
)"
$mysql -e "$sql"
2.插入数据
#!/bin/bash
#mysql.sh(insert)
mysql="/usr/local/mysql/bin/mysql -uroot -p123"
sql="insert test.user(username,password) values('user1','123')"
$mysql -e "$sql"
#!/bin/bash
#mysql.sh
#连接数据库
mysql="/usr/local/mysql/bin/mysql -uroot -p123"
case $1 in
select )
sql="select * from test.user order by id"
;;
delete)
sql="delete from test.user where id=$2"
;;
insert)
sql="insert into test.user(username,password) values('$2','$3')"
;;
update)
sql="update test.user set username='$3',password='$4' where id='$2'"
;;
*)
sql="select * from test.user order by id"
;;
esac
#发送sql语句
$mysql -e "$sql"
三.apache日志分割
#!/bin/bash
#logcut.sh
#日志的时间
yesterday=`date -d yesterday +%Y%m%d`
#apache的访问日志原地址
srclog="/usr/local/apache2/logs/access_log"
#apache的备份地址
dstlog="/usr/local/apache2/logsbak/access_${yesterday}.log"
mv $srclog $dstlog
#重新加载apache的配置文件
pkill -1 httpd
四.日志分割之任务计划
crontab -e
00 00 * * * /mn/logcut.sh
五.apache日志统计之mysql数据库
1.创建数据表
#!/bin/bash
#mysql.sh(create countab)
mysql="/usr/local/mysql/bin/mysql -uroot -p123"
sql="create table test.countab(
id int unsigned auto_increatement primary key,
date varchar(100),
ip varchar(100),
num int
)"
$mysql -e "$sql"
2.把apache访问记录写入数据库
#!/bin/bash
#logcut.sh
#日志的时间
yesterday=`date -d yesterday +%Y%m%d`
#apache的访问日志原地址
srclog="/usr/local/apache2/logs/access_log"
#apache的备份地址
dstlog="/usr/local/apache2/logsbak/access_${yesterday}.log"
mv $srclog $dstlog
#重新加载apache的配置文件
pkill -1 httpd
#创建临时文件
tmpfile=$$.txt
#把访问ip和次数按127.0.0.1:2格式输入到临时文件中
cat $dstlog|awk '{print $1}'|sort|uniq -c|awk '{print $2":"$1}' >$tmpfile
#连接数据库
mysql="/usr/local/mysql/bin/mysql -uroot -p123"
#遍历临时文件写入数据库
for i in `cat $tmpfile`
do
ip=`echo $i|awk -F: '{print $1}'`
num=`echo $i|awk -F: '{print $2}'`
sql="insert into test.countab(date,ip,num) values('$yesterday','$ip','$num')"
$mysql -e "$sql"
done
#删除临时文件
rm -rf $tmpfile
#查询数据库
sql="select * from test.countab"
$mysql -e "$sql"