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%)。
继续阅读

vbs下一些取特殊路径的方法总结

1、用FSO的SpecialFolder常数

FSO的SpecialFolder常数依赖的函数为GetSpecialFolder(SpecialFolder),很遗憾的是,SpecialFolder常数只有3个,0-2,0对应WindowsFolder,就是你的Windows文件夹,如果你的系统装在C盘的话,那么返回的就是"C:\Windows"这个路径字符串。1对应SystemFolder,GetSpecialFolder(1)返回"C:\Windows\system32"。2代表临时文件夹,就不要我多说了吧?

下面给出取临时文件夹路径字符串的实例:

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject") //绑定FSO对象
Dim tempfolder
Const TemporaryFolder = 2
Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)
Wscript.Echo tempfolder

继续阅读

vbs脚本创建windows快捷方式

'Create a WshShell Object
Set WshShell = Wscript.CreateObject("Wscript.Shell")

'currentpath
path=createobject("Scripting.FileSystemObject").GetFolder(".").Path

'Set the Target Path for the shortcut
oShellLink.TargetPath = path & "\php-win.exe"

'Set the additional parameters for the shortcut
oShellLink.Arguments = "bin\main.php"

'1:default 3:Maximize 7:Minimize
oShellLink.WindowStyle = 3

'hotKey
oShellLink.Hotkey = "Ctrl+Alt+e"

'desc
oShellLink.Description = "this is a php grograme"

'workingDirectory
oShellLink.WorkingDirectory = path

'icon
oShellLink.IconLocation = path & "\zs.ico"

'Save the shortcut
oShellLink.Save

'Clean up the WshShortcut Object
Set oShellLink = Nothing

 

pkg-config 基本使用

你在 Unix 或 Linux 下开发过软件吗?写完一个程序,编译运行完全正常,在你本机上工作得好好的,你放到源代码管理系统中。然后,告诉你的同事说,你可以取下来用了。这时,你长长的出了一口气,几天的工作没有白费,多么清新的空气啊,你开始飘飘然了。

“Hi,怎么编译不过去?”你还沉浸在那种美妙的感觉之中,双臂充满着力量,似乎没有什么问题能难倒你的。正在此时,那个笨蛋已经冲着你嚷开了。

“不会吧,我这边好好的!”表面上你说得很客气,其实,你心里已经骂开了,真笨,不知道脑子干嘛用的。也许,你想的没错,上次,他犯了一个简单的错误,不是你一去就解决了吗。

他喊三次之后,你不得不放下你手上的工作,刚才那种美妙的感觉已经消失得无影无踪了,要不是你把情绪控制得很好,一肚子气就要撒在他身上了。你走到他的电脑前,键入 make,优雅的按下回车。怎么可能出错呢?你信心十足。然而,屏幕上的结果多少有点让人脸红,该死的,libxxx.so 怎么会让不到呢?

继续阅读