MySQL 交互模式和非交互模式

这两个词基本是通过wait_time和interactive_timeout这两个变量引出的。

交互式操作:在本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。
非交互式操作:在你的项目中进行程序调用。比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接。那么这时候就是非交互式操作。

MySQL5手册中对两个变量有如下的说明:
interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。又见wait_timeout 。
wait_timeout:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义),又见interactive_timeout。

Linux 端口转发

iptables实现

详情见iptables初探

netIp=192.168.87.109
iptables -t nat -F
while read ip
do
	ip=($ip)
	iptables -t nat -A PREROUTING -s ${ip[0]} -d $netIp -p tcp -m tcp --dport ${ip[2]} -j DNAT --to-destination ${ip[1]}:${ip[3]}
	iptables -t nat -A POSTROUTING -d ${ip[1]} -p tcp -m tcp --dport ${ip[3]} -j SNAT --to-source $netIp 
done < .ip

#lcx转发
#/data/bin/lcx -m 1 -p1 30022 -h2 172.16.97.5 -p2 22 > /dev/null &

#vpn
#iptables -t nat -A POSTROUTING -d 220.181.86.100 -p udp --dport 60004 -j SNAT --to 175.25.244.181
#iptables -t nat -A PREROUTING -i eth1 -d 175.25.244.181 -p udp --dport 60004 -j DNAT --to-dest 220.181.86.100:60004
#iptables -t nat -A POSTROUTING -d 220.181.86.100 -p tcp --dport 60004 -j SNAT --to 175.25.244.181
#iptables -t nat -A PREROUTING -i eth1 -d 175.25.244.181 -p tcp --dport 60004 -j DNAT --to-dest 220.181.86.100:60004

.ip文件内容实例

0.0.0.0/0 192.168.87.103 53389 3389
0.0.0.0/0 192.168.87.66 43389 3389
192.168.87.0/24 192.168.87.103 51080 1080

lcx实现

lcx是一款强大的内网端口转发工具,用于将内网服务器开放的内部端口映射到本地任意端口,通过使用发现cpu占用比较高(Intel(R) Xeon(R) CPU E5506  @ 2.13GHz 使用率稳定在12.5%)。
继续阅读