为什么 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