Find 命令使用


内容提要

  1. 熟悉 find 命令的格式
  2. 掌握 find 命令中各种表达式的书写方法
  3. 学会使用 find 命令查找文件
  4. 命令的格式

find [http://www.proxys erve.net/index.php? q=aH R0 c D ovL 2 1 hbi5 jeC 9 maW5 k ] 命令用于在文件系统中查找满
足条件的文件。find 命令功能强大,提供了相当多的查找条件。find 命令还可以对查找到的文件做操作,如执行
She ll 命令等。
find 命令的格式是:
find [<起始目录> ...] [<选项表达式>] [<条件匹配表达式>] [<动作表达式>]
其中:
<起始目录>:对每个指定的 <起始目录> 递归搜索目录树
若在整个文件系统范围内查找,则起始目录是“/”
若在当前目录下寻找,则起始目录是“.”,省略<起始目录>表示当前目录
<选项表达式>:控制 find 命令的行为
<条件匹配表达式>:根据匹配条件查找文件
<动作表达式>:指定对查找结果的操作,默认为显示在标准输出(-print)
不带任何参数的 find 命令将在屏幕上递归显示当前目录下的文件列表。下面给出一些常用的表达式的解释。
选项表达式
表达式说明
-follow 如果遇到符号链接文件,就跟踪链接所指的文件
-regextype TYPE
指定 -regex 和 -iregex 使用的正则表达式类型,默认为 emacs,还可选择 posix-awk, posix-basic, posix-egrep 和
posix-extended
-depth 查找进入子目录前先查找完当前目录的文件
-mount 查找文件时不跨越文件系统
-xdev 查找文件时不跨越文件系统
-maxdepth
LEVELS
设置最大的查找深度
––help 显示 find 命令帮助信息
––version 显示 find 的版本
条件匹配表达式
SmarTraining 工作室 ? find http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp...
第1页 共6页2008-10-17 17:30
表达式说明
-name
PATTERN
匹配文件名
-iname
PATTERN
匹配文件名(忽略大小写)
-lname
PATTERN
匹配符号链接文件名
-ilname
PATTERN
匹配符号链接文件名(忽略大小写)
-path PATTERN 匹配文件的完整路径(不把 ‘/’ 和 ‘.’ 作为特殊字符)
PATTERN 使用 Shell 的匹配模式,可以使用 Shell 的通配符(*、?[]),要用“”或‘’括起来
表达式说明
-regex
PATTERN
以正则表达式匹配文件名
-iregex
PATTERN
以正则表达式匹配文件名(忽略大小写)
表达式说明
-amin N 查找 N 分钟以前被访问过的所有文件
-atime N 查找 N 天以前被访问过的所有文件
-cmin N 查找 N 分钟以前文件状态被修改过的所有文件(比如权限修改)
-ctime N 查找 N 天以前文件状态被修改过的所有文件 (比如权限修改)
-mmin N 查找 N 分钟以前文件内容被修改过的所有文件
-mtime N 查找 N 天以前文件内容被修改过的所有文件
-uid N 查找属于 ID 号为 N 用户的所有文件
-gid N 查找属于 ID 号为 N 组的所有文件
-inum N 查找 i-node 是 N 的文件
-links N 查找硬链接数为 N 的文件
-size
N[bcwkMG]
查找大小为 N 的文件,b(块)默认单位; c(字节) ; w(双字节)
N 可以有三种输入方式,+N 或 -N 或 N。假设 N 为 20,则:(1) +20:表示20以上(21,22,23等);(2) -20:表示
20以内(19,18,17等);(3) 20:表示正好是20。
表达式说明
-perm MODE 精确匹配权限模式为 MODE 的文件。MODE : 与 chown 命令的书写方式一致,既可以使用字符模式也可以使用8进制模式
-perm -MODE 匹配权限模式至少为 MODE 的文件
表达式说明
-anewer FILE 查找所有比 FILE 的访问时间新的文件
-cnewer FILE 查找所有比 FILE 的状态修改时间新的文件(比如权限修改)
-newer FILE 查找所有比 FILE 的内容修改时间新的文件
-samefile FILE 查找与 FILE 具有相同 i-node 的文件 (硬链接)
表达式说明
-fstype TYPE 只查找指定类型的文件系统
-type [bcdpfls] 查找指定类型的文件 [块设备, 字符设备,目录, 管道, 普通文件, 符号链接, socket套接字]
-empty 内容为空的文件
-user NAME 查找用户名为 NAME 的所有文件
-group NAME 查找组名为 NAME 的所有文件
-nouser 文件属于不在 /etc/passwd 文件中的用户
SmarTraining 工作室 ? find http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp...
第2页 共6页2008-10-17 17:30
-nogroup 文件属于不在 /etc/group 文件中的组
动作表达式
表达式说明
-print 在标准输出上列出查找结果(每行一个文件)
-print0 在标准输出上列出查找结果(取消间隔符) 同样与 |xargs -0 连用
-fprint FILE 与 -print 一致,只是输出到文件 FILE
-fprint0 FILE 与 print0 一致,只是输出到文件 FILE
-ls 使用 ‘ls -dils’ 在标准输出上列出查找结果
-fls FILE 与 -ls 一致,只是输出到文件 FILE
-prune 忽略对某个目录的查找
-exec COMMAND {} ; 对符合查找条件的文件执行 Linux 命令
-ok COMMAND {} ; 对符合查找条件的文件执行 Linux 命令;与 -exec 不同的是,它会询问用户是否需要执行
组合条件表达式
在书写表达式时,可以使用逻辑运算符与、或、非组成的复合条件,并可以用()改变默认的操作符优先级。下面以优先
级由高到低列出可用的逻辑操作符。若以空格作为各个表达式的间隔符,则各个表示式之间是与关系。
操作符说明
( EXPR ) 改变操作符优先次序,一些 UNIX 版的 find 命令要使用 ( EXPR ) 形式
! EXPR 表示对表达式取反
EXPR1 EXPR2 与逻辑,若 EXPR1 为假,将不再评估 EXPR2
EXPR1 -a EXPR2 与 EXPR1 EXPR2 功能一致
EXPR1 -o EXPR2 逻辑或,若 EXPR1 为真,将不再评估 EXPR2
EXPR1 , EXPR2 若 EXPR1 为假,继续评估 EXPR2
find 命令使用举例

find 的版本和使用帮助信息

$ find –-help # 显示 find 命令帮助信息
$ find –-version # 显示 find 的版本

不指定匹配表达式,显示所有文件

递归显示当前目录的文件列表

$ find

递归显示 / 目录的文件列表

$ find /

递归显示 / 目录的文件列表(仅限于3层目录)

$ find / -maxdepth 3

递归显示 / 目录的文件列表(仅限于 / 文件系统)

$ find / -xdev

递归显示 /home、/www、/srv 目录的文件列表

$ find /home /www /srv

按文件名/路径名查找

查找特定的文件名

$ find -name myfile
$ find -maxdepth 2 -name symfony

使用通配符查找特定的文件名

SmarTraining 工作室 ? find http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp...
第3页 共6页2008-10-17 17:30
$ find -name 'd*'
$ find -name '???'
$ find -name '[afd]*'
$ find -iname '[a-z]*'
$ find -name 'ch0-2.txt*'

匹配文件路径名

$ find -path '*server'
./vbird/server
./server
$ find -path '*server[12]'
./server1
./server2
./server1/server2
./server2/server2

以正则表达式匹配文件路径名

$ find -regex '.*'
$ find -regex '.ch0.'
./ch01
./ch00
./vbird/server/1000results/ch09-01.jpg
$ find -regex '.*ch[0-9]+'
./ch01
./ch21
./ch00
./ch333
./ch1
./ch41
$ find -regex '.*ch[0-9]+.txt'
./ch1.txt
./ch24.txt

按文件属性查找

只查找普通文件

$ find . -type f

只查找符号链接文件

$ find . -type l

查找硬连接数大于 1 的文件或目录

$ find /home -links +1

查找 /tmp 目录下小于 10M 的文件

$ find /tmp -size -10M

查找 /home 目录下大于 1G 的文件

$ find /home -size +1G

查找系统中为空的文件或者目录

$ find / -empty

查找在 /www 中最后10分钟访问过的文件

$ find /www -amin -10

查找在 /www 中最后2天访问过的文件

$ find /www -atime -2

查找在 /home 下最近2天内改动过的文件

$ find /home -mtime -2

列出被改动过后 2 日内被存取过的文件或目录

$ find /home -used -2

列出被改动过后 90 日前被存取过的文件或目录

$ find /home -used +90

列出 /home 目录中属于用户 osmond 的文件或目录

$ find /home -user osmond

列出 /home 目录中 UID 大于 501 的文件或目录

$ find /home -uid +501

列出 /home 目录中组为 osmond 的文件或目录

$ find /home -group osmond

列出 /home 目录中 GID 为 501 的文件或目录

$ find /home -gid 501

列出 /home 目录中不属于本地用户的文件或目录

$ find /home -nouser

列出 /home 目录中不属于本地组的文件或目录

$ find /home -nogroup

精确查找权限为 664 的文件或目录

$ find . -perm 664

查找权限至少为 664 的文件或目录

$ find . -perm -664
SmarTraining 工作室 ? find http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp...
第4页 共6页2008-10-17 17:30

使用逻辑运算构造复杂表达式

查找 /tmp 目录下21天之前访问过的大于 10G 的文件

$ find /tmp -size +10M -a -atime +21

查找 / 目录下属主为 jjheng 或 osmond 的文件

$ find / -user jjheng -o -user osmond

查找 /tmp 目录下的属主不是 osmond 的文件

$ find /tmp ! -user osmond

在 /mnt 下查找 *.txt 且文件系统类型不为 vfat 的文件

$ find /mnt -name '*.txt' ! -fstype vfat

在 /tmp 下查找名为 l 开头且类型为符号链接的文件

$ find /tmp -name 'l*' -type l

查找以 server 开头的目录名

$ find . -type d -name 'server*'

找出 /var/log 目录下所有的前5天修改过的.log 文件

$ find /var/log -name '*.log' -mtime +5

按文件样本查找

查找所有比 FILE1 的访问时间新的文件

$ find -anewer FILE1

查找所有比 FILE2 的访问时间旧的文件

$ find ! -anewer FILE2

查找所有比 FILE1 的访问时间新的

且比 FILE2 的访问时间旧的文件

$ find -anewer FILE1 ! -anewer FILE2

查找所有比 FILE1 的内容修改时间新的文件

$ find -newer FILE1

查找所有比 FILE2 的内容修改时间旧的文件

$ find ! -newer FILE2

查找所有比 FILE1 的内容修改时间新的

且比 FILE2 的内容修改时间旧的文件

$ find -newer FILE1 ! -newer FILE2

查找与 FILE 具有相同 i-node 的文件(硬链接)

$ find -samefile FILE -ls

对查找到的文件实施命令操作

查找并列出当前目录下不安全的文件(世界可读写执行)

$ find . -perm -007 -exec ls -l {} ;

查找 logs 目录下的所有的 .log 文件并查看它的详细信息

$ find logs -name "*.log" -type f -exec ls -l {} ;

查找当天修改过的普通文件

$ find . -type f -mtime -1 -exec ls -l {} ;

查找当前目录下的.php文件并用grep过滤出包含include的行

$ find . -name "*.php" -exec grep "include" {} ; -print

查找并删除当前目录及其子目录下所有扩展名为 .tmp 的文件

$ find . -name '*.tmp' -exec rm {} ;

在logs目录中查找7天之内未修改过的文件并在删除前询问

$ find logs -type f -mtime +7 -exec -ok rm {} ;

查询并删除一周以来从未访问过的以 .o 结尾或名为 a.out

且不存在于 nfs 文件系统中的所有文件

$ find / ( -name a.out -o -name '*.o' ) -atime +7 \
! -fstype nfs -exec rm {} ;

查询并删除当前目录及其子目录下所有的空目录

$ find . -depth -type d -empty -exec rmdir {} ;

将default目录下的文件由GBK编码转换为UTF-8编码

目录结构不变,转码后的文件保存在utf/default目录下

From: http://www.xiaojb.com/archives/it/convert-gbk-utf-8.shtml

$ find default -type d -exec mkdir -p utf/{} ;
$ find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} ;

下面 find 命令的书写形式均等价

$ find -name *.sh -exec cp {} /tmp ;
$ find -name '*.sh' -exec cp {} /tmp ';'
$ find -name "*.sh" -exec cp {} /tmp ";"
$ find -name *.sh -exec cp {} /tmp ;
$ find -name '*.sh' -exec cp '{}' /tmp ';'
$ find -name "*.sh" -exec cp "{}" /tmp ";"

在查找中排除指定的目录

SmarTraining 工作室 ? find http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp...
第5页 共6页2008-10-17 17:30

显示当前目录树

$ tree -F -L 2
.
bin/
switch-lang.sh*
sys2wiki.sh*
book/

basic/
basic-utf8/
basic.zip
server/
server-utf8/
server.zip
to-zh-CN-utf8.sh*

bak.sh*

显示当前目录下除 book 目录的所有文件

$ find . -name book -prune -o -print

查找当前目录下(除了 book 目录)的所有 .sh 文件

$ find . -name book -prune -o -name '*.sh' -print

显示当前目录下除 book/server 目录的所有文件

$ find . -path ./book/server -prune -o -print

使用绝对路径完成上述任务

$ find /home/osmond -path /home/osmond/book/server -prune -o -print

查找当前目录下(除了 book/server 目录)的所有 .sh 文件

$ find . -path ./book/server -prune -o -name '*.sh' -print

显示当前目录下除 book/server 和 book/server-utf8 目录的所有文件

$ find . -path './book/server*' -prune -o -print

查找当前目录下(除了 book/server 和 book/server-utf8 目录)的所有 .sh 文件

$ find . -path './book/server' -prune -o -name '.sh' -print

显示当前目录下除 book/server 和 book/basic 目录的所有文件

$ find . ( -path ./book/server -o -path ./book/basic ) -prune -o -print

查找当前目录下(除了 book/server 和 book/basic 目录)的所有 .sh 文件

$ find . ( -path ./book/server -o -path ./book/basic ) -prune -o -name '*.sh' -print


js 捕捉键盘事件


<script type="text/javascript">
document.onkeydown = showKeyDown;
function showKeyDown(evt)
{
  evt = (evt) ? evt : window.event;
   if(event.keyCode==113&&event.altKey){// alt + F2  
     console.log('open test');
   }
}

</script>

在对键盘时间的支持上,操作系统提供了一整套的虚拟键键值,要使我们的应用能够很好的支持快捷键,了解这些键值是必不可少的。
现将常见的键值列举如下:
A 0X65 U 0X85
B 0X66 V 0X86
C 0X67 W 0X87
D 0X68 X 0X88
E 0X69 Y 0X89
F 0X70 Z 0X90
G 0X71 0 0X48
H 0X72 1 0X49
I 0X73 2 0X50
J 0X74 3 0X51
K 0X75 4 0X52
L 0X76 5 0X53
M 0X77 6 0X54
N 0X78 7 0X55
O 0X79 8 0X56
P 0X80 9 0X57
Q 0X81 ESC 0X1B
R 0X82 CTRL 0X11
S 0X83 SHIFT 0X10
T 0X84 ENTER 0XD(用十进制就是13)
还有方向键:
← 37 → 39
F1键 112 F2键 113
F3键 114 F4键 115
F5键 115 F6键 116
F7键 117 F8键 118
F1键 119 F4键 110
退格删除键 8 TAB键 40


Nginx 启动脚本


#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# this script create it by jackbillow at 2007.10.15.
# it is v.0.0.2 version.
# if you find any errors on this scripts,please contact jackbillow.
# and send mail to jackbillow at gmail dot com.
#
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
#              It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/webserver/nginx/sbin/nginx
nginx_config=/usr/local/webserver/nginx/conf/nginx.conf
nginx_pid=/usr/local/webserver/nginx/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
   echo "nginx already running...."
   exit 1
fi
   echo -n $"Starting $prog: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
   return $RETVAL
}
# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
    echo -n $"Reloading $prog: "
    #kill -HUP `cat ${nginx_pid}`
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 1
esac
exit $RETVAL

dz install


yum -y install make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

wget http://nginx.org/download/nginx-1.3.0.tar.gz
tar -zxvf nginx-1.3.0.tar.gz
cd nginx-1.3.0
mkdir -p /usr/local/webserver/nginx
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module

make  & make install

Ngnix 作为系统服务:

vi /etc/init.d/nginx
#输也以下内容:http://itboren.com/?p=9
chmod +x /etc/init.d/nginx
/sbin/chkconfig nginx on
/sbin/chkconfig --list nginx
yum install cmake  bison pcre* libxml2-devel libxml2-static  zlib-devel openssl* libcurl*  libjpeg-devel libpng-devel  gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers cmake bison ncurses-devel gcc gcc-c++ ncurses-devel
wget http://cn2.php.net/distributions/php-5.6.30.tar.bz2

cp -frp /usr/lib64/libldap* /usr/lib/
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/opt/mysql --with-mysqli=/opt/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear
export LD_LIBRARY_PATH="/opt/mysql/lib:$LD_LIBRARY_PATH"
make
make install

Mysql 常见流水账


1.导入:

mysql –default-character-set=UTF8 -uroot -p123456 -P3306 pics < imgconfig.sql

rds 中:

mysql -h rds.host  –default-character-set=UTF8 -uroot -p123456 mjzlweb<mjzlweb.sql

如何让 mysqldump/mysql 导入数据时忽略错误继续执行

mysql -uroot -p123456 -f database < filename.sql
#-f 参数,就是force的意思,忽略错误,强制继续运行

2.导出 :

mysqldump –default-character-set=UTF8 -uroot -p123456 taobao2 –table userinfo|gzip > taobao2_userinfo_20110506.sql.zip
#表的备务,带压缩哦

rds 中:

mysqldump -h rds,host  –default-character-set=UTF8 -uroot -p123456  mjzlweb>mjzlweb.sql
mysqldump –default-character-set=UTF8 -uroot -p123456 taobao2 –database taobao2|gzip > taoba2.sql.zip 
#数据库的备务,带压缩哦 

//解压这个包:

gunzip -c taobao2.sql.zip > taobao2.sql

常见问题:
问题1: mysqldump: Got error: 1066: Not unique table/alias: ‘c3p0testtable’ when using LOCK TABLES
解决办法: dump 里加一个参数 –skip-lock-tables 就可以

导出一条记录(这里是nick 等于 dress 的记录),并且是 insert :

mysqldump -uroot -p111111 databasename –extended-insert=false –table userinfo -w ”nick=’dress’”>in.sql

导出一给定条件的记录(这里是id>100的记录),并且是insert:

mysqldump -uroot -p111111  databaseneame –table tablename -w”id>100″>new.sql

导出 表结构

mysqldump –default-character-set=UTF8 -uroot -p111111 -d database  tables> tables.sql

3.统计:

select sum(payprice) as tail from payrecord;

4.执行指令

mysql -uroot -p123456 -e”use taobao2;select * from userinfo;” >> temp.log

5.创建索引 :

create index collname on tablename(collname);

删除

Drop indexname on tablename;

6.显示当前运行的Query

mysql> show processlist

小记:
用命令可显示出条种状态的sql 和 idnember
show processlist
可用 kill idnember 终止执行。

设置mysql 自动断开连接的时间

set global  wait_timeout=600;set  global interactive_timeout=600;

查看:

show global variables like ‘%timeout%’;

7.查看当前最大连接数:

mysqladmin -uusername -ppassword variables |find “max_con”

8.显示当前状态:

mysql> show status

9.修复表

repair table tablename;

表的数据去重,保留id 最小的一条,其余的删掉:

mysql  –default-character-set=UTF8 -uroot -pxxxxx -e”use tablename;select  CONCAT(‘delete from xx_table where id<>’,min(id),’ and nick=\”‘ ,nick,’\”;’) from xx_table    group  by  nick    having  count(nick) > 1;”>>del.sql

查看 MySQL 数据库中每个表占用的空间大小
如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小

其他字段请参考MySQL的手册,我们只需要了解这几个就足够了。
所以要知道一个表占用空间的大小,那就相当于是 数据大小 + 索引大小 即可。
SQL:

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA=’数据库名’ AND TABLE_NAME=’表名’

如何动态开启mysql的慢查询日志记录
在线开启慢查询日志:

mysql > set global slow_query_log=1;
mysql > set global long_query_time=2;
mysql > set global slow_query_log_file=’mysql-slow.log’;

如果不需要记录慢查询了,可以很方便的关闭:

mysql > set global slow_query_log=0;

注意:在5.1.29以前用的是log_slow_queries变量,5.1.29及之后的版本log_slow_queries变量就用slow_query_log变量代替了。slow_query_log指定开启还是关闭,slow_query_log_file指定日志文件filename,long_query_time指定慢查询的阈值。
注意2:long_query_time变量从MySQL 5.1.21开始,可以被设置的最小值为0,且精度可以被设置到微秒级(例如值可以被设置为 1.000002,即1秒又2微秒);而在5.1.21之前的版本,这个变量可以被设置的最小值为1,且只能为整型。

PT 的使用和安装:

wget http://www.percona.com/downloads/percona-toolkit/2.2.4/RPM/percona-toolkit-2.2.4-1.noarch.rpm
yum install -y percona-toolkit-2.2.4-1.noarch.rpm

查看mysql 的慢日志:

pt-query-digest /var/mysql/data/mysql-slow.log

查看test数据库的重复索引和外键使用情况使用如下命令

pt-duplicate-key-checker  –host=localhost –user=root –password=123456  –databases=zzbtrade -S /var/tmp/mysql/mysql.sock

sql 注入特定值

“”()))”()
”))(”)’(
AnD
aND
AnD
aND
AND
/etc/
windows/win
md5(