为什么 mysql slave 同步慢

  1. show slave status\G

  2. 查看 Relay_Log_File 字段, 得到 relay log 的文件名

  3. cd /var/lib/mysql

  4. mysqlbinlog mysqld-relay-bin.005347 > /tmp/mysqld-relay-bin.005347.txt

  5. grep 'update ' /tmp/mysqld-relay-bin.005347.txt | perl -ane 'END {foreach ( sort {$seen{$b}<=>$seen{$a}} keys %seen ) {print $_, "=>", $seen{$_}, "\n"} } $seen{$F[1]}++' # 找出哪个表更新的多

    grep 'insert into ' /tmp/mysqld-relay-bin.005347.txt | perl -ane 'END {foreach ( sort {$seen{$b}<=>$seen{$a}} keys %seen ) {print $_, "=>", $seen{$_}, "\n"} } $seen{$F[2]}++' # 找出哪个表插入的多


MySQL

这篇文章: 有用 无用
创建 2014-07-25 11:41:25 / 更新 2017-02-07 14:59:20

Perl Command-Line Options

-c # compiles the program without runing it.

-M # -Mmodule 和 use module 一样.

例如:

-MLWP::Simple
-MDigest::MD5='md5_hex,md5_base64'

-m # -mmodule 和 use module() 一样, 不会导入 module 默认导入的包.

-n # add loops around your -e code.

$ perl -n -e 'some code' $file

相当于:

LINE:
    while (<>) { 
        #some code 
    }

-p

$ perl -p -e 'some code' $file

相当于:

LINE:
    while (<>) { 
        #some code 
    } continue {
        print or die $!;
    }

假如在 main code loop 之前或之后需要处理代码, 你可以使用 BEGIN 或 END block.

例如:

$ perl -ne 'END {print $t} @w = /(\w+)g; $t += @w' $file

-a # 打开自动分割模式(autosplit mode), 输入会被分割(默认是一个或多个空格分割)成数组并存入 @F

例如:

$ perl -ane 'END {print $t} $t += @F'

-F # 指定分割字符

例如:

$ perl -F'\t' -MData::Dumper -ane 'print Dumper \@F' $file

-l # 自动 chomps 输入, 设置 $\ 等于 $/. $\ 是输出后面加的字符, 默认是空串(empty string). $/ 是读入的分割符, 默认是新行(new line)

例如:

$ perl -le 'print "Hello World"'
$ perl -le 'print for @INC' # 打印出 @INC
$ perl -F':' -MData::Dumper -alne 'print Dumper \@F' /etc/passwd # 对比加 l 和不加 l 的区别
$ perl -lp -e '$_ = $_ . "abc"' $file # 对比加 l 和不加 l 的区别

-i # 把输入文件(源文件)改名(rename), 并且读改名后的文件, 把转化后的记录写入名字是源文件的名字的文件(其实是一种比较有效的覆盖源文件的方法)

例如:

$ perl -i -pe 's/\bPHP\b/Perl/' $file
$ perl -i.bak -pe 's/\bPHP\b/Perl/' $file # 把源文件保存在 "源文件名.bak"
$ 对比 perl -pi -e 's/\bPHP\b/Perl/' $file 和 perl -ip -e 's/\bPHP\b/Perl/' $file # 因为 i 后面可以跟参数, 所以后者无效

Perl

这篇文章: 有用 无用
创建 2014-07-11 20:47:07 / 更新 2017-02-07 14:59:27

打开 mysql 的 query log

vi /etc/mysql/my.cnf

打开 general_log_file = /var/log/mysql/mysql.log

mysql 控制台

SET global general_log = 1|0, 动态控制打开或关闭 query log

tail -f /var/log/mysql/mysql.log


MySQL

这篇文章: 有用 无用
创建 2014-06-22 23:12:15 / 更新 2014-11-10 00:14:40

ant solr source code for eclipse

ant -p # print project help information        

ant ivy-bootstrap # Download and install Ivy in the users ant lib dir        

ant compile # Compile Lucene and Solr        

ant eclipse # Setup Eclipse configuration

cd $DIR/solr-4.8.1/solr

mkdir dist        

ant dist

cp dist/solr-4.8-SNAPSHOT.war example/webapps/solr.war

cd example

java -jar start.jar

Solr

这篇文章: 有用 无用
创建 2014-06-05 01:38:47 / 更新 2015-05-05 10:15:50

curl 的一些用法

  1. curl -o|--output $filename www.baidu.com 或 curl www.baidu.com > filename # 保存网页至filename

  2. curl -O|--remote-name $url # e.g. curl -O http://www.etao.com/sitemap.xml -O http://www.amazon.com/robots.txt

  3. curl -I|--head baidu.com # 发送 HEAD 方法给 http server, 显示 header 信息

  4. curl -i|--include $url # 输出中包含 HTTP-header 信息

  5. curl -D|--dump_header $filename $url # 把 response header 信息写入文件

  6. curl -L|--location jd.com # follow redirect

  7. curl -A|--user-agent "[User Agent]" baidu.com # 设置User Agent

  8. curl -e|--referer $referer $url # 设置 $referer

  9. curl -b|--cookie "NAME1=VALUE1; NAME2=VALUE2" $url # 设置 cookie

  10. curl -H|--header 'Content-type:application/xml' $url # 设置 request header 信息

  11. curl -v|--verbose $url # curl HTTP 详情

  12. curl -x|--proxy <[protocol://][user@password]proxyhost[:port]>

    # This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to "" to override it.

  13. curl --socks5 127.0.0.1:7070

  14. curl -w|--write-out <format>

    curl -w 'DNS lookup: %{time_namelookup}\nTCP handshake: %{time_connect}\nSSL handshake: %{time_appconnect}\nPre tran:%{time_pretransfer}\nTran:%{time_starttransfer}\n' https://www.baidu.com # time_connect变量表示TCP握手的耗时,time_appconnect变量表示SSL握手的耗时 `

    POST
  15. curl -X|--request # e.g: curl -X POST

  16. curl --data-binary @$file|$str $url # to post data purely binary, post $url $file or $str

  17. curl -d|--data|--data-ascii @$file|$str $url # post $url $file or $str

  18. curl --data-urlencode @$file|$str $url # (HTTP) similar to the other --data options with the exception that this performs URL-encoding.

  19. curl -F|--form # POST data 使用 Content-Type multipart/form-data.

    e.g: curl -F password=@/etc/passwd www.foo.com

    e.g: curl -F "web=@index.html;type=text/html" www.foo.com

    e.g: curl -F "file=@localfile;filename=nameinpost" www.foo.com

    e.g: curl -F file=@file1 -F file=@file2 www.foo.com

如何给curl添加代理
vi .curlrc
添加socks5 = "127.0.0.1:1080"

Liunx

这篇文章: 有用 无用
创建 2014-02-25 07:50:35 / 更新 2017-08-07 02:39:37