mysql 1203错误分析与解决方案

一、问题
mysql常常报1203错误,超出max_user_connections限制;

二、分析
服务器有长短连接混用
max_connections和max_user_connections值同为2048;
SHOW STATUS LIKE ‘%connect%’查看到当前连接数约1100;

三、解决
# 更改max_user_connections
SET GLOBAL max_user_connections=0;

# 查看max_user_connections是否生效
SELECT @@max_user_connections;

# 查看当前服务器连接数
SHOW STATUS LIKE ‘%connect%’;

# 修改my.cnf
max_user_connections = 0

三、参考资料
https://bugs.launchpad.net/percona-server/+bug/893348
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html
If an account had a nonzero MAX_USER_CONNECTIONS value, that value was not always respected. (Bug #65104, Bug #14003080)

一些强大的命令

# 时间截转时间
date -d@1234567890

# 创建一个空文件,比touch短
> file.txt

# 列出当前目录里最大的10个文件
du -s * | sort -n | tail

# 列出头十个最耗内存的进程
ps aux | sort -nk +4 | tail

# 比较一个远程文件和一个本地文件
ssh user@host cat /path/to/remotefile | diff /path/to/localfile –

# 重复执行上一条命令
!!

# !$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串
$mkdir mydir
$mv mydir yourdir
$cd yourdir
可以改成:
$mkdir mydir
$mv !$ yourdir
$cd !$

# 回到上一层目录
cd –

# 回到自己的Home目录
cd ~

# 把上次命令行的参数给重复出来
esc+.

# linux查找特定文件里面包含特定字符的文件
find /home/htdocs/ -name ‘*.php’ -exec grep -i “answerPostTime!=0” {} \; -print

# Linux查看目录大小
du -b –max-depth 1 | sort -nr | perl -pe ‘s{([0-9]+)}{sprintf “%.1f%s”, $1>=2**30? ($1/2**30, “G”): $1>=2**20? ($1/2**20, “M”): $1>=2**10? ($1/2**10, “K”): ($1, “”)}e’
du -sbh *
ls -lh

# 自动刷新指令
watch -n 1 “(echo status; sleep 0.1) | nc 127.0.0.1 4730”

模板继承

一、背景
从模板引擎的发展看,前后提出了几个概念:
1、子模板(include)
2、布局模板(layout)
3、继承模板(extend)
我第一次听到继承模板这概念是来自一个技术群,后来发现Smarty3.x版已经实现了,由于Smarty的代码本人实在是不愿意去看,只是从它的例子去了解了一下继承模板的概念和原理。 继续阅读模板继承