Flash CS5,菜单:窗口-》[属性|动作|输出],输出是输出错误,用trace("Content");,动作是编写某一段在代码在地方。
属性是对某一控件的描述。提示一下组件:也就是一个按钮,一个下拉等的控件。
var str:Array=new Array(4);
str[0] = "";
str[1] = "";
str[2] = "";
str[3] = "";
var pointer = 0;
var str_a:String="wait for me!";
trace(str_a);
var str_b:String="oh, my love, my darling,oh!";
var str_ab:String=str_a.concat("*",str_b);
strplan(str_ab);
function strplan(str_big:String) {
for (var i = 0; i<4; i++) {
for (var n = pointer; n<str_big.length; n++) {
if (str_big.charAt(n) != "*") {
str[i] = str[i]+str_big.charAt(n);
trace(str[i]);
//trace(str_big.charAt(n))
//trace(str_big.length)
} else {
pointer = n+1;
trace("pointer++++++"+pointer)
break;
}
}
}
}
属性是对某一控件的描述。提示一下组件:也就是一个按钮,一个下拉等的控件。
var str:Array=new Array(4);
str[0] = "";
str[1] = "";
str[2] = "";
str[3] = "";
var pointer = 0;
var str_a:String="wait for me!";
trace(str_a);
var str_b:String="oh, my love, my darling,oh!";
var str_ab:String=str_a.concat("*",str_b);
strplan(str_ab);
function strplan(str_big:String) {
for (var i = 0; i<4; i++) {
for (var n = pointer; n<str_big.length; n++) {
if (str_big.charAt(n) != "*") {
str[i] = str[i]+str_big.charAt(n);
trace(str[i]);
//trace(str_big.charAt(n))
//trace(str_big.length)
} else {
pointer = n+1;
trace("pointer++++++"+pointer)
break;
}
}
}
}
在自己的VPS服务器上安了一下nginx,然后安了一wiki,其URLREWRITE规则如下:
if (!-e $request_filename)
{
rewrite ^/(.+)$ /index.php?title=$1;
}
if (!-e $request_filename)
{
rewrite ^/(.+)$ /index.php?title=$1;
}
今天将 PHP 5.3.3 的内置 mysqlnd 驱动编译参数打开(--with-mysql=mysqlnd --with-mysqli=mysqlnd ),make install之后,httpd的CPU占用为100%,负载瞬间无限攀升,便退回非 mysqlnd 版本。
后在排除过程中发现,导致这一问题的元凶是 mysql 某些用户的密码是 old_password 加密,换为新的 MySQL 4.1+ (password)后问题解决。虽然mysqlnd不兼容old_password,但出现CPU100%实在令人难以理解。在这留个记号。
更新:mysqlnd目前还是dev版,非常不稳定,经常导致内存溢出,cpu100%,换回libmysql后正常。
来源:http://chen.so/post/59/
后在排除过程中发现,导致这一问题的元凶是 mysql 某些用户的密码是 old_password 加密,换为新的 MySQL 4.1+ (password)后问题解决。虽然mysqlnd不兼容old_password,但出现CPU100%实在令人难以理解。在这留个记号。
更新:mysqlnd目前还是dev版,非常不稳定,经常导致内存溢出,cpu100%,换回libmysql后正常。
来源:http://chen.so/post/59/
“35岁,技术生涯即告终结。”这种说法在IT界得到众多人认可,也令很多IT人为自己的未来担忧。其实,如果从另一个角度来理解,技术生涯结束,意味着新职业的开始。与其被动等待,不如换个思维,早作准备,在35岁来到之前完成转型,把握职业生涯的主动权。
IT领域有很强的专业性,并且这个行业正处于上升过程中,转型不转行的做法对于IT人是比较理性的选择。但因为工作性质的不同,IT人在转型之前应该要告别技术型思维,为新的职业生涯储备一些新知识。
选择1:做销售闷头钻技术→抬头勤沟通
转型吸引力:销售工作富于挑战,而且收入与工作业绩直接挂钩,适合对薪水上升空间不满、且追求个人价值体现者。
优势:IT人有很强的技术背景,更擅长发掘产品性能的优缺点,对于IT产品的介绍具有权威性,容易被客户相信。
劣势:与销售相比,技术研发的工作环境相对封闭,工程师们与机器沟通的能力往往优于与人沟通的能力,因此,与人的沟通能力是最需要补上的一课。
学习计划:可以参考一些诸如卡耐基人际沟通技巧之类的书籍,反省自己以往人际沟通中是否有违最佳规则;其次,可以参加一些销售人员的聚会或是培训课程,给自己洗洗脑,从个人中心的思维方式转换到客户中心的模式中。当然,最重要的一点是,平时要注意多与人沟通。技巧固然可以通过训练速成,观念的转变却不是一朝一夕的事。
选择2:做培训术业专攻→博采众长
转型吸引力:培训工作让人有一种帮助他人的成就感,适合喜欢与人分享、且重视精神收获者。
优势:适应企业需求,IT人在运用某一技术语言上相当精深,另外,他们在技术研发中的实战经验对于学员来说也是相当宝贵的教学资源。
劣势:除了精通某一技术语言之外,培训师需要有更广泛的知识面,而IT技术人员往往在这个方面有所欠缺。因此,要系统性地重组IT技术领域的知识,并且不断自发了解技术发展的最新动态。
学习计划:通晓多个开发平台以及技术语言的特性,训练自己撰写技术评论文章的能力,为以后独立编写教案作一个铺垫。另外,有资金,有实力的话,应该制订技术学习进度表,尽可能地获得两三个有分量的技术证书,并保持更新。
选择3:做咨询技术攻关→资源整合
转型吸引力:咨询师一般在企业决策中起到参谋作用,因此,能转型成为咨询师自然能保证IT人的身价不会因为年龄而贬值。适合有独立项目开发经验者。
优势:有过实际项目经验的IT人,解决实际问题的能力非常强。
劣势:除帮助客户直接解决问题之外,咨询师需要根据不同情况来提供一系列不同的解决方案,而技术人员一般只了解到自己某一项目的经验,这一经验是否能化身到其它项目上,仍有待实践的考验。
学习计划:作为有心人,个人应该收集各种项目实施的案例,分析其成功失败的原因,内化成自己的一套系统的解决方案库。另外,咨询师需要学习一些企业管理的知识,锻炼自己整合能力,能针对企业不同的资源条件,提供出具有可执行性的解决方案。
选择4:做管理技术开发→团队开发
转型吸引力:这里,做管理是指自己开IT公司做老板。采取这种转型是需要特别慎重的。一般来说,适合有强烈创业愿望、并且有管理能力者。
优势:技术是IT公司最核心的内容,作为这方面的行家,从IT人转型的老板自然在技术管理方面独具慧眼。
劣势:从纯粹技术从业者到管理者,衡量这个人的成功标准也从成功的技术研发能力转向成熟的团队管理能力。而从事技术开发的IT人往往重技术轻管理,这种习惯如果带到新公司里,失败就跟着来了。
学习计划:在打工期间,应该尽可能地争取一些项目管理的机会,积累管理经验,而不是一头扎在技术里。另外,系统的学习非常必要,尽管学历不代表什么,但参与一次教学过程,对于训练管理思维能力,大有裨益。
特别提醒
在选择转型方向时,有两个原则是需要坚持的。
第一,从兴趣出发。毕竟这个阶段,物质基础已经有一定积累了,该往高标准的精神要求去发展职业了,而不是仅仅以回报的物质条件优厚程度来决定。
第二,时刻准备着。追求成功的职业转型,准备工作并不是一个月或一两年时间就能完成的,个人应该尽早明确自己的发展方向,并根据这个方向来制定一个长期、系统的学习计划,为适应将来的转型,升级完善自身的“软硬件”。
本文来源:http://blog.csai.cn/pwblog.asp?action=log&userid=14952&logid=14215
IT领域有很强的专业性,并且这个行业正处于上升过程中,转型不转行的做法对于IT人是比较理性的选择。但因为工作性质的不同,IT人在转型之前应该要告别技术型思维,为新的职业生涯储备一些新知识。
选择1:做销售闷头钻技术→抬头勤沟通
转型吸引力:销售工作富于挑战,而且收入与工作业绩直接挂钩,适合对薪水上升空间不满、且追求个人价值体现者。
优势:IT人有很强的技术背景,更擅长发掘产品性能的优缺点,对于IT产品的介绍具有权威性,容易被客户相信。
劣势:与销售相比,技术研发的工作环境相对封闭,工程师们与机器沟通的能力往往优于与人沟通的能力,因此,与人的沟通能力是最需要补上的一课。
学习计划:可以参考一些诸如卡耐基人际沟通技巧之类的书籍,反省自己以往人际沟通中是否有违最佳规则;其次,可以参加一些销售人员的聚会或是培训课程,给自己洗洗脑,从个人中心的思维方式转换到客户中心的模式中。当然,最重要的一点是,平时要注意多与人沟通。技巧固然可以通过训练速成,观念的转变却不是一朝一夕的事。
选择2:做培训术业专攻→博采众长
转型吸引力:培训工作让人有一种帮助他人的成就感,适合喜欢与人分享、且重视精神收获者。
优势:适应企业需求,IT人在运用某一技术语言上相当精深,另外,他们在技术研发中的实战经验对于学员来说也是相当宝贵的教学资源。
劣势:除了精通某一技术语言之外,培训师需要有更广泛的知识面,而IT技术人员往往在这个方面有所欠缺。因此,要系统性地重组IT技术领域的知识,并且不断自发了解技术发展的最新动态。
学习计划:通晓多个开发平台以及技术语言的特性,训练自己撰写技术评论文章的能力,为以后独立编写教案作一个铺垫。另外,有资金,有实力的话,应该制订技术学习进度表,尽可能地获得两三个有分量的技术证书,并保持更新。
选择3:做咨询技术攻关→资源整合
转型吸引力:咨询师一般在企业决策中起到参谋作用,因此,能转型成为咨询师自然能保证IT人的身价不会因为年龄而贬值。适合有独立项目开发经验者。
优势:有过实际项目经验的IT人,解决实际问题的能力非常强。
劣势:除帮助客户直接解决问题之外,咨询师需要根据不同情况来提供一系列不同的解决方案,而技术人员一般只了解到自己某一项目的经验,这一经验是否能化身到其它项目上,仍有待实践的考验。
学习计划:作为有心人,个人应该收集各种项目实施的案例,分析其成功失败的原因,内化成自己的一套系统的解决方案库。另外,咨询师需要学习一些企业管理的知识,锻炼自己整合能力,能针对企业不同的资源条件,提供出具有可执行性的解决方案。
选择4:做管理技术开发→团队开发
转型吸引力:这里,做管理是指自己开IT公司做老板。采取这种转型是需要特别慎重的。一般来说,适合有强烈创业愿望、并且有管理能力者。
优势:技术是IT公司最核心的内容,作为这方面的行家,从IT人转型的老板自然在技术管理方面独具慧眼。
劣势:从纯粹技术从业者到管理者,衡量这个人的成功标准也从成功的技术研发能力转向成熟的团队管理能力。而从事技术开发的IT人往往重技术轻管理,这种习惯如果带到新公司里,失败就跟着来了。
学习计划:在打工期间,应该尽可能地争取一些项目管理的机会,积累管理经验,而不是一头扎在技术里。另外,系统的学习非常必要,尽管学历不代表什么,但参与一次教学过程,对于训练管理思维能力,大有裨益。
特别提醒
在选择转型方向时,有两个原则是需要坚持的。
第一,从兴趣出发。毕竟这个阶段,物质基础已经有一定积累了,该往高标准的精神要求去发展职业了,而不是仅仅以回报的物质条件优厚程度来决定。
第二,时刻准备着。追求成功的职业转型,准备工作并不是一个月或一两年时间就能完成的,个人应该尽早明确自己的发展方向,并根据这个方向来制定一个长期、系统的学习计划,为适应将来的转型,升级完善自身的“软硬件”。
本文来源:http://blog.csai.cn/pwblog.asp?action=log&userid=14952&logid=14215
编辑一下CentOS的 /etc/ssh/sshd_config
TCPKeepAlive yes
ClientAliveInterval 300 #这个值可以调大一点
然后重启sshd
/etc/init.d/sshd restart
启用putty keepalive
putty -> Connection -> Seconds between keepalives ( 0 to turn off ),默认为0,改为60。
阅读全文
TCPKeepAlive yes
ClientAliveInterval 300 #这个值可以调大一点
然后重启sshd
/etc/init.d/sshd restart
启用putty keepalive
putty -> Connection -> Seconds between keepalives ( 0 to turn off ),默认为0,改为60。
阅读全文
一直使用putty(pietty), 因为简单,小巧.
但是, 一直也羡慕SecureCRT支持sz/rs进行file transfer, 很简单,,,很方便… 而小Putty就只能借助ftp或者winscp了….
今天发现了一个基于Putty的改进版Le Putty(项目地址:http://sourceforge.net/projects/leputty/), 可以完美的支持ZModem进行file transfer.
DownLoad:http://sourceforge.net/projects/leputty/
下载Le Putty以后, 解压到自己的目录.
在目录中, 解压lsrz, 然后在Le Putty中Setting->ZModem中, 将sz和rz路径指向从lsrz中解压出来的对应可执行文件, 并设置好本地接受文件目录.
接下来, 登录服务器,
1. 下载:
$ sz fil然后在Le Putty的标题栏右键, 选择ZModem Recive…
2. 上传:
$ r然后在Le Putty的标题栏右键, 选择ZModem Upload…
不足: 找不到显示Menu Bar的设置,,,, 也没有像pietty那样初始的简单登录界面., 不过,, 这些都是可以忍受的
来源:http://www.laruence.com/2010/04/21/1442.html
但是, 一直也羡慕SecureCRT支持sz/rs进行file transfer, 很简单,,,很方便… 而小Putty就只能借助ftp或者winscp了….
今天发现了一个基于Putty的改进版Le Putty(项目地址:http://sourceforge.net/projects/leputty/), 可以完美的支持ZModem进行file transfer.
DownLoad:http://sourceforge.net/projects/leputty/
下载Le Putty以后, 解压到自己的目录.
在目录中, 解压lsrz, 然后在Le Putty中Setting->ZModem中, 将sz和rz路径指向从lsrz中解压出来的对应可执行文件, 并设置好本地接受文件目录.
接下来, 登录服务器,
1. 下载:
$ sz fil然后在Le Putty的标题栏右键, 选择ZModem Recive…
2. 上传:
$ r然后在Le Putty的标题栏右键, 选择ZModem Upload…
不足: 找不到显示Menu Bar的设置,,,, 也没有像pietty那样初始的简单登录界面., 不过,, 这些都是可以忍受的
来源:http://www.laruence.com/2010/04/21/1442.html
最近经常碰到关于crontab不能执行的,初步总结了有以下几个原因:
第一,脚本的原因:大多数情况下,我们要相信科学,相信计算机,不是有鬼,就是我们的脚本的问题,这种问题导致crontab不能执行的概率占到70%以上。因为程序执行到某一步导致crontab终止执行,我就碰到一次在迁移代码的时候将数据库连错了。导致无法访问而死在那里了。
第二,执行环境问题,当我们碰到第一情况下,一般都可以通过手动执行程序将问题扼杀在摇篮里,一般情况下高手是不应该犯第一种错误的。问题是当我们手动执行成功而crontab不能执行的时候,笔者碰到一次就是执行环境的问题,例如相关路径的设置问题。解决方案:在代码最前面执行 source /home/user/.bash_profile
第三,系统时间不正确。这种问题最好理解,也是比较常见和隐蔽的问题,解决方案:date -s ********
第四,就是我们的脚本是否有可执行权限。必须保证执行脚本的用户有执行改文件的权限。
第五,crontab 守护进程死掉了。这种情况是极少发生的,但也不排除,当我们实在是找不到其他原因的时候可以用。解决方案:重启该进程。
另外,介绍大家一个关于如何查看crontab最修修改时间的方法:
进入目录/var/spool/cron/里面会有N个用户名为文件名的文件,只要建立过crontab的用户在这里都会有以该用户名为文件名的文件,该文件的最后修改时间就是该用户的的crontab的最后修改时间。just do it
阅读全文
第一,脚本的原因:大多数情况下,我们要相信科学,相信计算机,不是有鬼,就是我们的脚本的问题,这种问题导致crontab不能执行的概率占到70%以上。因为程序执行到某一步导致crontab终止执行,我就碰到一次在迁移代码的时候将数据库连错了。导致无法访问而死在那里了。
第二,执行环境问题,当我们碰到第一情况下,一般都可以通过手动执行程序将问题扼杀在摇篮里,一般情况下高手是不应该犯第一种错误的。问题是当我们手动执行成功而crontab不能执行的时候,笔者碰到一次就是执行环境的问题,例如相关路径的设置问题。解决方案:在代码最前面执行 source /home/user/.bash_profile
第三,系统时间不正确。这种问题最好理解,也是比较常见和隐蔽的问题,解决方案:date -s ********
第四,就是我们的脚本是否有可执行权限。必须保证执行脚本的用户有执行改文件的权限。
第五,crontab 守护进程死掉了。这种情况是极少发生的,但也不排除,当我们实在是找不到其他原因的时候可以用。解决方案:重启该进程。
另外,介绍大家一个关于如何查看crontab最修修改时间的方法:
进入目录/var/spool/cron/里面会有N个用户名为文件名的文件,只要建立过crontab的用户在这里都会有以该用户名为文件名的文件,该文件的最后修改时间就是该用户的的crontab的最后修改时间。just do it
阅读全文
无间道:
沈澄:
人他妈都死了,这还有什么用
韩先生,你真的信佛啊
往往事情能改变人,人改变不了事情
干我们这行,见不得光
名字?就叫我影子吧
沈澄还说:人他妈都死了,这还有什么用。
杨回:有些事,还是要去做的。
于是我们就看到刘建明和李心儿从陈永仁的墓地离开的时候,沈澄故意出现了,他打给杨警官说:我回来了。杨说:那我们开始吧。
唐吉可德:
唐吉可德说:“对,我就是一个疯子。生下来就是。在你们的眼里,我只不过是一个没有能力的疯子、傻瓜而已。但是事情总是有人要去做,既然那些有能力的聪明人都已经躲起来不做事,我只能勉为其难了。”“如果这条街上的每个人都保持沉默,我相信这个世界一定鸦雀无声。我们今天来,就是要让那些有能力的聪明人看看,在这个世界上,还有像我这样头脑简单的傻瓜,遇到了为难不会袖手旁观,坚信邪不压正的简单道理。”
沈澄:
人他妈都死了,这还有什么用
韩先生,你真的信佛啊
往往事情能改变人,人改变不了事情
干我们这行,见不得光
名字?就叫我影子吧
沈澄还说:人他妈都死了,这还有什么用。
杨回:有些事,还是要去做的。
于是我们就看到刘建明和李心儿从陈永仁的墓地离开的时候,沈澄故意出现了,他打给杨警官说:我回来了。杨说:那我们开始吧。
唐吉可德:
唐吉可德说:“对,我就是一个疯子。生下来就是。在你们的眼里,我只不过是一个没有能力的疯子、傻瓜而已。但是事情总是有人要去做,既然那些有能力的聪明人都已经躲起来不做事,我只能勉为其难了。”“如果这条街上的每个人都保持沉默,我相信这个世界一定鸦雀无声。我们今天来,就是要让那些有能力的聪明人看看,在这个世界上,还有像我这样头脑简单的傻瓜,遇到了为难不会袖手旁观,坚信邪不压正的简单道理。”
<script language="javascript">
var truthBeTold = window.confirm("单击\"确定\"发送Qzone日志。单击\"取消\"不发送Qzone日志。");
if (truthBeTold) {
window.alert("发送Qzone日志成功");
} else window.alert("您选择不发送Qzone日志。");
</script>
原blog(justwinit.cn)基本上处于荒废状态,一直想找个机会重整一下,顺便养成勤快更新的习惯,因为现在已经不能再去找“忙”的理由了。原blog用的域名是个cn域名,不太合适作个人博客地址,这次注册了个jackxiang.com的域名,仿一下盖茨大叔的thegatesnotes.com ,原来生活可以更美好:)
原blog使用的bo-blog程序说实话也算不错,但艳羡wordpress的强大,这次也跟国际接轨,使用了wp作为博客程序。本来想找个现成的theme先用一下,找来找去都不入眼,干脆自己做一个。还好wp的theme制作也比较简单,只要熟悉php,html,css,做个theme不在话下,关键还是看设计了。目前这个与博客域名同名的私人theme只是个半成品,以后慢慢再整。
接下来陆续会把旧blog的博文迁移到新版中,真的希望能更新勤快点,至少半月一篇吧!
---
安装好了最新的Wordpress,加入缓存等,Theml,后面发现还是Bo-Blog快捷,习惯了,又迁移回来了,哈哈。
原blog使用的bo-blog程序说实话也算不错,但艳羡wordpress的强大,这次也跟国际接轨,使用了wp作为博客程序。本来想找个现成的theme先用一下,找来找去都不入眼,干脆自己做一个。还好wp的theme制作也比较简单,只要熟悉php,html,css,做个theme不在话下,关键还是看设计了。目前这个与博客域名同名的私人theme只是个半成品,以后慢慢再整。
接下来陆续会把旧blog的博文迁移到新版中,真的希望能更新勤快点,至少半月一篇吧!
---
安装好了最新的Wordpress,加入缓存等,Theml,后面发现还是Bo-Blog快捷,习惯了,又迁移回来了,哈哈。
是不是发现了,无论你多么认真在写,你的博客还是没有被很多人发现。而某些人,只要写一个新博客,就会立即引起别人的关注。比如幸福收藏夹,在很长的一段时间内,都没有人关注过,不过,当她发展到一定程度的时候,sofish组织了otheme(暂时没更新)则很快得到别人的关注。而这个现实,可以用木桶原理来解释。
通常说的”木桶原理”是指由多块木板构成的木桶,其价值在于其盛水量的多少,但决定木桶盛水量多少的关键因素不是其最长的板块,而是其最短的板块。今天将要说是”木桶原理的演变”可以给blogger的启示。
演变:一个木桶的储水量,还取决于木桶的直径大小
每个博客都是不同的一个木桶,因此,木桶的大小也不可能完全一致。直径大的木桶,其储水量自然要大于其它木桶。也就是说,每一博客创建之初,他们的起步也是不完全一样的,有的基础扎实,有的基础较薄弱,有的资源面广,有的资源面窄,这都对博客的最初发展起到关键作用。拿中国互联网上公认的最具影响力blogger之一keso来说,其评论Blog 对牛乱弹琴的成功,与他本人丰富的人生经历和文化底蕴有着相当大的关系。
Keso(洪波)的互联网经历:
IT自由评论人;
曾任八一电影制片厂纪录片部、中央电视台军事部编导;
1996年参与IDG投资的《软件》杂志改版;
1998年加盟中网信息技术有限公司,任副总经理;
2003年任天极网副主编;
2004~2006年任Donews总编辑
同样,徐静蕾在博客圈能创下”112天创下1000万的点击率”这一纪录,世界第一博就是这样出来的。她依靠的是明星的影响力,而非在某些领域的文章写得特别好。想想,如果你只是一个无名小卒,有可能只写几篇日志就,说几片心情就能成为中国第一博,乃至世界第一博?毋庸置疑,这是不可能的,她的成功,证明了她的木桶直径是大的力量。
启示:Blogger的文化底蕴、社会资源与自身气质等决定了博客的”储水量”。
像你知道的,并不是每个人都有某个领域的天赋,甚至根本没有任何天赋,但所有人都能做到的是,在自己所在的领域中,都认真去做,做多一点,增加”桶边”。譬如,一个作PHP编程人,如果前端开发方面也做得不错,他可能把一个网站打造得非常棒,但一个仅会CSS的高手则很难做到功能与美观兼具。
————————————————–
读者甲: 就这么简单,其他的呢?
sofish: 没有了(1),还想什么? 不断提高自己吧,像Netforce一样,不断提升自已。
通常说的”木桶原理”是指由多块木板构成的木桶,其价值在于其盛水量的多少,但决定木桶盛水量多少的关键因素不是其最长的板块,而是其最短的板块。今天将要说是”木桶原理的演变”可以给blogger的启示。
演变:一个木桶的储水量,还取决于木桶的直径大小
每个博客都是不同的一个木桶,因此,木桶的大小也不可能完全一致。直径大的木桶,其储水量自然要大于其它木桶。也就是说,每一博客创建之初,他们的起步也是不完全一样的,有的基础扎实,有的基础较薄弱,有的资源面广,有的资源面窄,这都对博客的最初发展起到关键作用。拿中国互联网上公认的最具影响力blogger之一keso来说,其评论Blog 对牛乱弹琴的成功,与他本人丰富的人生经历和文化底蕴有着相当大的关系。
Keso(洪波)的互联网经历:
IT自由评论人;
曾任八一电影制片厂纪录片部、中央电视台军事部编导;
1996年参与IDG投资的《软件》杂志改版;
1998年加盟中网信息技术有限公司,任副总经理;
2003年任天极网副主编;
2004~2006年任Donews总编辑
同样,徐静蕾在博客圈能创下”112天创下1000万的点击率”这一纪录,世界第一博就是这样出来的。她依靠的是明星的影响力,而非在某些领域的文章写得特别好。想想,如果你只是一个无名小卒,有可能只写几篇日志就,说几片心情就能成为中国第一博,乃至世界第一博?毋庸置疑,这是不可能的,她的成功,证明了她的木桶直径是大的力量。
启示:Blogger的文化底蕴、社会资源与自身气质等决定了博客的”储水量”。
像你知道的,并不是每个人都有某个领域的天赋,甚至根本没有任何天赋,但所有人都能做到的是,在自己所在的领域中,都认真去做,做多一点,增加”桶边”。譬如,一个作PHP编程人,如果前端开发方面也做得不错,他可能把一个网站打造得非常棒,但一个仅会CSS的高手则很难做到功能与美观兼具。
————————————————–
读者甲: 就这么简单,其他的呢?
sofish: 没有了(1),还想什么? 不断提高自己吧,像Netforce一样,不断提升自已。
宇宙中存在一个巨大的秘密——吸引法则。那些历史上成功的人士都知道这个秘密——你平时想什么,你就在吸引什么,你全是想的正面的好东西,好东西就来了,相反你每天只想负面的东西,坏事情就被你吸引来了。他们的成功就因为他们了解这个秘密,并且这么去做。你是你自己思想的产品,你天天想要有钱,钱就来了;你想要大房子,你就能真的住进大房子;你喜欢一个姑娘你就天天想她,她就主动和你约会了。你要是不相信人可以不费力气挣到钱,你就永远只能挣辛苦钱。就像你在餐馆点一道菜一样,你的愿望就是你向宇宙下的订单,思想会吸引你所有想要的东西自动到来。
在反对这个理论体系的同时,你必须完全接受了这个神奇的结果,你必须打算认真听取这神秘的忠告:对已经拥有的一切好东西,心怀感恩,每天只想我想要的东西,不想你不想要的,我们必须打算尝试在宇宙的菜单中,大胆地点想要的所有东西,每天享受它们已经到来的感觉,并且静候运气的光顾。
继续向大家推销这个吸引法则。的确,抱怨不会解决任何问题,既然如此,就少抱怨吧。也许这门子学问不但对大家个人的成功有帮助,还有助于帮助企业的成长,乃至经济的发展哟。
在反对这个理论体系的同时,你必须完全接受了这个神奇的结果,你必须打算认真听取这神秘的忠告:对已经拥有的一切好东西,心怀感恩,每天只想我想要的东西,不想你不想要的,我们必须打算尝试在宇宙的菜单中,大胆地点想要的所有东西,每天享受它们已经到来的感觉,并且静候运气的光顾。
继续向大家推销这个吸引法则。的确,抱怨不会解决任何问题,既然如此,就少抱怨吧。也许这门子学问不但对大家个人的成功有帮助,还有助于帮助企业的成长,乃至经济的发展哟。
http://wordpress.org/extend/plugins/wp-sphinx-search/
有这样一种情况,数组A、数组B、数组C的元素来自数据表,其中每个数组的键是字段名,值是字段值,为了更好地描述,我举例如下:
假设我从数据表中读取到的两个数组分别是如下结构:
$a = array('auto_id' => '10006',
'goods_name' => 'Nokia ',
'telphoto' => '13412345678');
$b = array('small_pic' => '缩略图地址',
'price' => '1280',
'HotNum' => '1863',
'SellNum' => '63');
呵可...对了,就像上面这样的数组,不过我没有举例数组C哟,不过不影响你读懂数组合并的方法,现在要求把数组A和数组B合并为如下样子: $D = array('auto_id' => '10006',
'goods_name' => 'Nokia ',
'telphoto' => '13412345678'
'small_pic' => '缩略图地址',
'price' => '1280',
'HotNum' => '1863',
'SellNum' => '63');
实现的方法有两个:
第一个:$D = array_merge($a, $b);
第二个:$D = $a + $b; //完全保留原有数组索引
来源:http://www.ityoudao.com/Web/Php_583_1476.html
假设我从数据表中读取到的两个数组分别是如下结构:
$a = array('auto_id' => '10006',
'goods_name' => 'Nokia ',
'telphoto' => '13412345678');
$b = array('small_pic' => '缩略图地址',
'price' => '1280',
'HotNum' => '1863',
'SellNum' => '63');
呵可...对了,就像上面这样的数组,不过我没有举例数组C哟,不过不影响你读懂数组合并的方法,现在要求把数组A和数组B合并为如下样子: $D = array('auto_id' => '10006',
'goods_name' => 'Nokia ',
'telphoto' => '13412345678'
'small_pic' => '缩略图地址',
'price' => '1280',
'HotNum' => '1863',
'SellNum' => '63');
实现的方法有两个:
第一个:$D = array_merge($a, $b);
第二个:$D = $a + $b; //完全保留原有数组索引
来源:http://www.ityoudao.com/Web/Php_583_1476.html
文件上传表单<form enctype="multipart/form-data" action="URL" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>
$_FILES数组内容如下:
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
阅读全文
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input name="myFile" type="file">
<input type="submit" value="上传文件">
</form>
$_FILES数组内容如下:
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
阅读全文
<p>1,只允许某个IP登录,拒绝其他所有IP
在 /etc/hosts.allow 写:
sshd: 1.2.3.4
在 /etc/hosts.deny 写:
sshd: ALL</p>
<p>用 iptables 也行:
iptables -I INPUT -p tcp --dport 22 -j DROP
iptables -I INPUT -p tcp --dport 22 -s 1.2.3.4 -j ACCEPT</p>
<p>
2,禁止某个用户通过ssh登录
在/etc/ssh/sshd_conf添加
AllowUsers 用户名
或者
AllowGroups 组名
或者
DenyUsers 用户名</p>
<p>
3,设定登录黑名单
vi /etc/pam.d/sshd
增加
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshd_user_deny_list onerr=succeed</p>
<p>所有/etc/sshd_user_deny_list里面的用户被拒绝ssh登录</p>
vi /etc/ssh/sshd_conf
DenyUsers jackxiang
来源:http://www.gipsky.com/modules/article6/view.article.php?59909
在 /etc/hosts.allow 写:
sshd: 1.2.3.4
在 /etc/hosts.deny 写:
sshd: ALL</p>
<p>用 iptables 也行:
iptables -I INPUT -p tcp --dport 22 -j DROP
iptables -I INPUT -p tcp --dport 22 -s 1.2.3.4 -j ACCEPT</p>
<p>
2,禁止某个用户通过ssh登录
在/etc/ssh/sshd_conf添加
AllowUsers 用户名
或者
AllowGroups 组名
或者
DenyUsers 用户名</p>
<p>
3,设定登录黑名单
vi /etc/pam.d/sshd
增加
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/sshd_user_deny_list onerr=succeed</p>
<p>所有/etc/sshd_user_deny_list里面的用户被拒绝ssh登录</p>
vi /etc/ssh/sshd_conf
DenyUsers jackxiang
来源:http://www.gipsky.com/modules/article6/view.article.php?59909
FATAL ERROR: Could not find ./bin/my_print_defaults
修改:
basedir="/usr/local/mysql"
builddir="/root/software/mysql-5.5.9"
FATAL ERROR: Could not find ./bin/my_print_defaults
If you are using a binary release, you must run this script from
within the directory the archive extracted into. If you compiled
MySQL yourself you must run 'make install' first.
/usr/local/webserver/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data
修改:
basedir="/usr/local/mysql"
builddir="/root/software/mysql-5.5.9"
FATAL ERROR: Could not find ./bin/my_print_defaults
If you are using a binary release, you must run this script from
within the directory the archive extracted into. If you compiled
MySQL yourself you must run 'make install' first.
/usr/local/webserver/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data
(1)chmod: cannot access `ext/phar/phar.phar': No such file or directory:
wget http://pear.php.net/go-pear.phar
[root@localhost phar]# /usr/local/webserver/php/bin/php go-pear.phar
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : /usr/local/webserver/php
2. Temporary directory for processing : /tmp/pear/install
3. Temporary directory for downloads : /tmp/pear/install
4. Binaries directory : /usr/local/webserver/php/bin
5. PHP code directory ($php_dir) : /usr/local/webserver/php/lib/php
6. Documentation directory : /usr/local/webserver/php/docs
7. Data directory : /usr/local/webserver/php/data
8. User-modifiable configuration files directory : /usr/local/webserver/php/cfg
9. Public Web Files directory : /usr/local/webserver/php/www
10. Tests directory : /usr/local/webserver/php/tests
11. Name of configuration file : /usr/local/webserver/php/etc/pear.conf
1-11, 'all' or Enter to continue: all
这个根据个人环境进行修改。(我是直接回车即可)
(2)chmod: cannot access `ext/phar/phar.phar': No such file or directory:
make: [ext/phar/phar.phar] Error 1 (ignored)
解决方法:./configure的时候 要加上--without-pear
wget http://pear.php.net/go-pear.phar
[root@localhost phar]# /usr/local/webserver/php/bin/php go-pear.phar
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : /usr/local/webserver/php
2. Temporary directory for processing : /tmp/pear/install
3. Temporary directory for downloads : /tmp/pear/install
4. Binaries directory : /usr/local/webserver/php/bin
5. PHP code directory ($php_dir) : /usr/local/webserver/php/lib/php
6. Documentation directory : /usr/local/webserver/php/docs
7. Data directory : /usr/local/webserver/php/data
8. User-modifiable configuration files directory : /usr/local/webserver/php/cfg
9. Public Web Files directory : /usr/local/webserver/php/www
10. Tests directory : /usr/local/webserver/php/tests
11. Name of configuration file : /usr/local/webserver/php/etc/pear.conf
1-11, 'all' or Enter to continue: all
这个根据个人环境进行修改。(我是直接回车即可)
(2)chmod: cannot access `ext/phar/phar.phar': No such file or directory:
make: [ext/phar/phar.phar] Error 1 (ignored)
解决方法:./configure的时候 要加上--without-pear
最近有个月经问题,老有人问为何开机后,还没有其他服务,mem就被用完了?是不是内存泄露?是否要重启服务?只能说不要看现象,要看本质才能找到问题的根源。
往往给出这样的结果,怀疑内存用了90%:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
这样怀疑很普遍,因为很多人用惯了Windows。Windows下,可以使用任务管理器查看当前进程对于内存的消耗情况。在我看来,Windows物理内存总是留下一定的空间,就算此时物理内存有空闲时,也会让某些程序去使用虚拟内存,目的是在Windows下启动新程序时,直接分配空闲的物理内存,这样子新程序启动速度就较快,而Linux则不然。
而在Linux下,使用top命令看到内存占用情况:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
这里的结果显示使用了3.8G的used,占用率达到90%。看看free的结果你还可以对比一下:
$ free -m
total used free shared buffers cached
Mem: 4049 3784 265 0 208 2939
-/+ buffers/cache: 636 3413
Swap: 2588 0 2588
虽然MEM显示了3.7G左右的used,但是(-/+ buffers/cache)减去buffers和cache的结果可以看到,当前进程实际占用内存是636M,而可用空闲(free)内存为3.4G。
可以这么理解:在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
如上面的例子:使用了4G的内存,3.7G被占用,但是buuffer和cached部分作为缓存,可以使用命中率的方式提高使用效率,而且这部分缓存是根据指令随时可以释放的,我们可以认为这部分内存没有实际被使用,也可以认为它是空闲的。
因此查看目前进程正在实际被使用的内存,是used-(buffers+cache),也可以认为如果swap没有大量使用,mem还是够用的,只有mem被当前进程实际占用完(没有了buffers和cache),才会使用到swap的。
个人之见,欢迎拍砖。
参考:http://apps.hi.baidu.com/share/detail/23407310
往往给出这样的结果,怀疑内存用了90%:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
这样怀疑很普遍,因为很多人用惯了Windows。Windows下,可以使用任务管理器查看当前进程对于内存的消耗情况。在我看来,Windows物理内存总是留下一定的空间,就算此时物理内存有空闲时,也会让某些程序去使用虚拟内存,目的是在Windows下启动新程序时,直接分配空闲的物理内存,这样子新程序启动速度就较快,而Linux则不然。
而在Linux下,使用top命令看到内存占用情况:
Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffers
Swap: 2650684k total, 80k used, 2650604k free, 3006404k cached
这里的结果显示使用了3.8G的used,占用率达到90%。看看free的结果你还可以对比一下:
$ free -m
total used free shared buffers cached
Mem: 4049 3784 265 0 208 2939
-/+ buffers/cache: 636 3413
Swap: 2588 0 2588
虽然MEM显示了3.7G左右的used,但是(-/+ buffers/cache)减去buffers和cache的结果可以看到,当前进程实际占用内存是636M,而可用空闲(free)内存为3.4G。
可以这么理解:在linux的内存分配机制中,优先使用物理内存,当物理内存还有空闲时(还够用),不会释放其占用内存,就算占用内存的程序已经被关闭了,该程序所占用的内存用来做缓存使用,对于开启过的程序、或是读取刚存取过得数据会比较快。
如上面的例子:使用了4G的内存,3.7G被占用,但是buuffer和cached部分作为缓存,可以使用命中率的方式提高使用效率,而且这部分缓存是根据指令随时可以释放的,我们可以认为这部分内存没有实际被使用,也可以认为它是空闲的。
因此查看目前进程正在实际被使用的内存,是used-(buffers+cache),也可以认为如果swap没有大量使用,mem还是够用的,只有mem被当前进程实际占用完(没有了buffers和cache),才会使用到swap的。
个人之见,欢迎拍砖。
参考:http://apps.hi.baidu.com/share/detail/23407310
SSH的连接登录延时一般来说是因为sshd默认打开了反向DNS解析的问题。
修改ssh服务器的/etc/ssh/sshd_config,把UseDNS yes改为UseDNS no就可以了。
不过今天遇到了Anonomous的Ubuntu,连接到修改过的服务器上仍然有延时。
找到了一个解决方法:
编辑/etc/nsswitch.conf
找到hosts那行,将其改成下面这样:
hosts: files dns [NOTFOUND=return]
测试效果不错。
获得root权限
然后执行
/etc/init.d/sshd restart
来源:http://www.eusidc.com/showfaq/1387.html
修改ssh服务器的/etc/ssh/sshd_config,把UseDNS yes改为UseDNS no就可以了。
不过今天遇到了Anonomous的Ubuntu,连接到修改过的服务器上仍然有延时。
找到了一个解决方法:
编辑/etc/nsswitch.conf
找到hosts那行,将其改成下面这样:
hosts: files dns [NOTFOUND=return]
测试效果不错。
获得root权限
然后执行
/etc/init.d/sshd restart
来源:http://www.eusidc.com/showfaq/1387.html
用ports安装了mysql以后,过一段时间发现/var空间不足了,查一下,会发现是mysql-bin.000001、mysql-bin.000002等文件占用了空间,那么这些文件是干吗的?这是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。
这样做主要有以下两个目的:
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
处理方法分两种情况:
1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
清理日志方法为:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-12-19 21:00:00';
如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。
====================================================================
删除MYSQl BIN-LOG 日志
想要恢愎数据库以前的资料,执行:show binlog events;屏幕就开始显示很多内容,心里烦(那有这么多没有用的LOG),还是删除一些去吧!
1.查找当
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| mysql-bin.000001 | 150462942 |
| mysql-bin.000002 | 125 |
| mysql-bin.000003 | 106 |
+—————-+———–+
2.删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
mysql> purge binary logs to ‘mysql-bin.000003′;
Query OK, 0 rows affected (0.16 sec)
3. 查询结果(现在只有一条记录了.)
mysql> show binlog events\G
*************************** 1. row ***************************
Log_name: mysql-bin.000003
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 106
Info: Server ver: 5.1.26-rc-log, Binlog ver: 4
1 row in set (0.01 sec)
(mysql-bin.000001和mysql-bin.000002已被删除)
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| mysql-bin.000003 | 106 |
+—————-+———–+
1 row in set (0.00 sec)
(删除的其它格式运用!)
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ’2008-06-22 13:00:00′;
清除3天前的 binlog
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
5. 清理所有的日志,但是不包括目标日志。
那么这些文件该怎么删除和禁止呢?
禁止方法: vi /etc/my.cnf把里面的
#log-bin=mysql-bin
#binlog_format=mixed
注释掉,重启mysql服务即可.
删除方法:
输入命令:
/usr/local/mysql/bin/mysql -u root -p
输入密码登陆mysql后,运行命令:
reset master;
(包括;号)
清空日志文件.再查看Mysql文件的大小,已经小了很多了.
-bash-3.2# du -h –max-depth=1 /usr/local/mysql/var
du: cannot access `250Cmax-depth=1': No such file or directory
142M /usr/local/mysql/var
mysql-bin 日志文件的清除
对于一个繁忙的mysql数据库而言,日志文件日渐增多增大。必须加以删除或控制。
更改配置文件不让产生 mysql-bin 文件:
vi /etc/my.cnf
找到如下几行信息:
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
把 log-bin 这一行注释掉即可。
完毕,需要重新启动mysqld使配置生效。
删除现有的 mysql-bin 文件:
进入mysql:
/usr/local/mysql/bin/mysql -u root -p
然后,执行如下命令:
reset master;
如果你安装的MYSQL启用了记录日志功能,那就会占用很多空间,甚至可能把你所有的空间都耗光,这是非常可怕的,而且这一切都在悄悄的进行,你完全感受不到……
mysql-bin.0000X文件通常在MYSQL安装文件夹的var目录,我的是/usr/local/mysql/var/,如果你的不在这里,那就找一下……
好了,下面我就来提供解决方案,首先打开/etc/my.cnf文件,找到下面的内容,需要注意的是,log-bin和binlog_format这2行内容,并不是在一起的,然后注释掉。
log-bin=mysql-bin
binlog_format=mixed
注释方法很简单,在他们前面加 一个#符号就可以了,接着把mysql-bin.0000X的日志文件删除掉。
然后执行这个命令
/usr/local/mysql/bin/mysql -u root -p
输入密码登陆后执行reset master命令。如果成功的话不会返回任何信息,如果失败则会出现提示,到此问题就解决啦!
mysql-bin.000001、mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。
这样做主要有以下两个目的:
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
处理方法分两种情况:
1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
清理日志方法为:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ‘2008-12-19 21:00:00′;
如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。
mysql> PURGE MASTER LOGS BEFORE '2011-03-13 21:00:00';
Query OK, 0 rows affected (0.04 sec)
mysql> PURGE MASTER LOGS TO 'mysql-bin.000007';
Query OK, 0 rows affected (0.00 sec)
mysql> show binary logs;
ERROR 1381 (HY000): You are not using binary logging
来源:http://www.amcoding.com/faq/mysql-bin-%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E6%B8%85%E9%99%A4/
http://imcat.in/delete-mysql-bin-0000x-mysql-log-file/
http://www.jiucool.com/terror-mysql-bin-0000x-log-file/
http://doc.linuxpk.com/56482.html
http://ourmysql.com/archives/568
这样做主要有以下两个目的:
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
处理方法分两种情况:
1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
清理日志方法为:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2008-12-19 21:00:00';
如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。
====================================================================
删除MYSQl BIN-LOG 日志
想要恢愎数据库以前的资料,执行:show binlog events;屏幕就开始显示很多内容,心里烦(那有这么多没有用的LOG),还是删除一些去吧!
1.查找当
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| mysql-bin.000001 | 150462942 |
| mysql-bin.000002 | 125 |
| mysql-bin.000003 | 106 |
+—————-+———–+
2.删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
mysql> purge binary logs to ‘mysql-bin.000003′;
Query OK, 0 rows affected (0.16 sec)
3. 查询结果(现在只有一条记录了.)
mysql> show binlog events\G
*************************** 1. row ***************************
Log_name: mysql-bin.000003
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 106
Info: Server ver: 5.1.26-rc-log, Binlog ver: 4
1 row in set (0.01 sec)
(mysql-bin.000001和mysql-bin.000002已被删除)
mysql> show binary logs;
+—————-+———–+
| Log_name | File_size |
+—————-+———–+
| mysql-bin.000003 | 106 |
+—————-+———–+
1 row in set (0.00 sec)
(删除的其它格式运用!)
PURGE {MASTER | BINARY} LOGS TO ‘log_name’
PURGE {MASTER | BINARY} LOGS BEFORE ‘date’
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
例如:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ’2008-06-22 13:00:00′;
清除3天前的 binlog
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
BEFORE变量的date自变量可以为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。
如果您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起作用,而是会失败,并伴随一个错误。不过,如果从属服务器是休止的,并且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句可以安全运行。您不需要停止它们。
要清理日志,需按照以下步骤:
1. 在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
2. 使用SHOW MASTER LOGS获得主服务器上的一系列日志。
3. 在所有的从属服务器中判定最早的日志。这个是目标日志。如果所有的从属服务器是更新的,这是清单上的最后一个日志。
4. 制作您将要删除的所有日志的备份。(这个步骤是自选的,但是建议采用。)
5. 清理所有的日志,但是不包括目标日志。
那么这些文件该怎么删除和禁止呢?
禁止方法: vi /etc/my.cnf把里面的
#log-bin=mysql-bin
#binlog_format=mixed
注释掉,重启mysql服务即可.
删除方法:
输入命令:
/usr/local/mysql/bin/mysql -u root -p
输入密码登陆mysql后,运行命令:
reset master;
(包括;号)
清空日志文件.再查看Mysql文件的大小,已经小了很多了.
-bash-3.2# du -h –max-depth=1 /usr/local/mysql/var
du: cannot access `250Cmax-depth=1': No such file or directory
142M /usr/local/mysql/var
mysql-bin 日志文件的清除
对于一个繁忙的mysql数据库而言,日志文件日渐增多增大。必须加以删除或控制。
更改配置文件不让产生 mysql-bin 文件:
vi /etc/my.cnf
找到如下几行信息:
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
把 log-bin 这一行注释掉即可。
完毕,需要重新启动mysqld使配置生效。
删除现有的 mysql-bin 文件:
进入mysql:
/usr/local/mysql/bin/mysql -u root -p
然后,执行如下命令:
reset master;
如果你安装的MYSQL启用了记录日志功能,那就会占用很多空间,甚至可能把你所有的空间都耗光,这是非常可怕的,而且这一切都在悄悄的进行,你完全感受不到……
mysql-bin.0000X文件通常在MYSQL安装文件夹的var目录,我的是/usr/local/mysql/var/,如果你的不在这里,那就找一下……
好了,下面我就来提供解决方案,首先打开/etc/my.cnf文件,找到下面的内容,需要注意的是,log-bin和binlog_format这2行内容,并不是在一起的,然后注释掉。
log-bin=mysql-bin
binlog_format=mixed
注释方法很简单,在他们前面加 一个#符号就可以了,接着把mysql-bin.0000X的日志文件删除掉。
然后执行这个命令
/usr/local/mysql/bin/mysql -u root -p
输入密码登陆后执行reset master命令。如果成功的话不会返回任何信息,如果失败则会出现提示,到此问题就解决啦!
mysql-bin.000001、mysql-bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。
这样做主要有以下两个目的:
1:数据恢复
如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
2:主从服务器之间同步数据
主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
处理方法分两种情况:
1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
2:如果你的环境是主从服务器,那么就需要做以下操作了。
A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
清理日志方法为:
PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ‘2008-12-19 21:00:00′;
如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。
mysql> PURGE MASTER LOGS BEFORE '2011-03-13 21:00:00';
Query OK, 0 rows affected (0.04 sec)
mysql> PURGE MASTER LOGS TO 'mysql-bin.000007';
Query OK, 0 rows affected (0.00 sec)
mysql> show binary logs;
ERROR 1381 (HY000): You are not using binary logging
来源:http://www.amcoding.com/faq/mysql-bin-%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E6%B8%85%E9%99%A4/
http://imcat.in/delete-mysql-bin-0000x-mysql-log-file/
http://www.jiucool.com/terror-mysql-bin-0000x-log-file/
http://doc.linuxpk.com/56482.html
http://ourmysql.com/archives/568





