September 14, 2009
ServU和ServU-Plus结合对ftp用户进行数据库(Mysql)验证
"\u003cp\u003e基本步骤:\n1.\u003c/p\u003e\n\u003cp\u003e下载Mysql for windows的版本,目前最新的为mysql-4.0.20d-win。下载并安装启动。\u003c/p\u003e\n\u003col start=\"2\"\u003e\n\u003cli\u003e\n\u003cp\u003e 在mysql.com网站下载对应的mysql-odbc驱动程序,安装在windows 2000/NT/advance server操作系统.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e 在操作系统中,点击控制面板->管理工具->数据源(ODBC),添加对MySQL ODBC的支持。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e 使用servU-Plus插件程序,ServUPlus是Serv-U的一个插件,其主要功能就是捕捉Serv-U的事件,然后做适当的功能增强、扩展。解压后出现目录结构如下:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e[]根目录\u003c/p\u003e\n\u003cp\u003eReadme.txt 自述文件\u003c/p\u003e\n\u003cp\u003eMySQL_SQL.txt MySQL的数据结构\u003c/p\u003e\n\u003cp\u003eMSSQL_SQL.txt MSSQL的数据结构\u003c/p\u003e\n\u003cp\u003eUpdate.txt 升级说明\u003c/p\u003e\n\u003cp\u003e[\\ServU]目录\u003c/p\u003e\n\u003cp\u003edbexpmysql.dll 访问MySQL的DLL(可选)\u003c/p\u003e\n\u003cp\u003edbexpmss.dll 访问MSSQL的DLL(可选) …\u003c/p\u003e"
September 12, 2009
FreeBSD中忘记root密码的解决办法
"\u003cp\u003e重新启动FreeBSD 过往单用户更改密码\u003c/p\u003e\n\u003cp\u003eFreeBSD 4.x 或之前的版本\u003c/p\u003e\n\u003cp\u003e在系统启动所示以下信息时按 spacebar\u003c/p\u003e\n\u003cp\u003eHit [Enter] to boot immediately, or any other key for command prompt.\u003c/p\u003e\n\u003cp\u003eBooting [kernel] in 10 seconds…接着在所示以下信息时输入 boot -s\u003c/p\u003e\n\u003cp\u003eType ‘?’ for a list of commands, or ‘help’ for more detailed help.\u003c/p\u003e\n\u003cp\u003eok\u003c/p\u003e\n\u003cp\u003e按 Enter 后系统会进行至所示以下信息\u003c/p\u003e\n\u003cp\u003eEnter full pathname of shell or RETURN for /bin/sh:\u003c/p\u003e\n\u003cp\u003e再按 Enter 进入单用户模式,所示 #\u003c/p\u003e\n\u003cp\u003e挂载档案系统,输入\u003c/p\u003e\n\u003ch1 id=\"fsck--p-文件档案检查\"\u003efsck -p \\文件档案检查\u003c/h1\u003e\n\u003ch1 id=\"mount--u--挂载\"\u003emount -u / \\挂载\u003c/h1\u003e\n\u003ch1 id=\"mount--t-ufs--a-挂载所有文件档案\"\u003emount -t ufs -a \\挂载所有文件档案\u003c/h1\u003e\n\u003cp\u003e更改密码\u003c/p\u003e\n\u003ch1 id=\"passwd-更改密码\"\u003epasswd \\更改密码\u003c/h1\u003e\n\u003cp\u003eNew password:_\u003c/p\u003e"
August 28, 2009
mysql中显示当前使用的数据库名称
"\u003cpre tabindex=\"0\"\u003e\u003ccode\u003emysql\u0026gt; select database();\n+------------+\n| database() |\n+------------+\n| csdn |\n+------------+\n1 row in set (0.00 sec)\n\nmysql\u0026gt; SELECT * FROM information_schema.SCHEMATA where schema_name=\u0026#39;csdn\u0026#39;;\n+--------------+-------------+----------------------------+------------------------+----------+\n| CATALOG_NAME | SCHEMA_NAME | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH | …\u003c/code\u003e\u003c/pre\u003e"
August 26, 2009
nginx 502 bad gateway 解决办法
"\u003cp\u003eNGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1.FastCGI进程是否已经启动\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2.FastCGI worker进程数是否不够\u003c/strong\u003e\n运行 netstat -anpo | grep “php-cgi” | wc -l 判断是否接近FastCGI进程,接近配置文件中设置的数值,表明worker进程数设置太少\n通过命令查看服务器上一共开了多少的 php-cgi 进程\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eps -fe |grep “php” | grep -v “grep” | wc -l\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e使用如下命令查看已经有多少个php-cgi进程用来处理tcp请求\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003enetstat -anop | grep “php” | grep -v “grep” | wc -l\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e接近配置文件中设置的数值,表明worker进程数设置太少\n参见: \u003ca href=\"http://blog.s135.com/post/361.htm\"\u003ehttp://blog.s135.com/post/361.htm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3.FastCGI …\u003c/strong\u003e\u003c/p\u003e"
August 24, 2009
MySQL中UNION和UNION ALL的区别
"\u003cp\u003e在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMySQL中的UNION\u003c/strong\u003e\nUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ccode\u003eselect * from gc_dfys union select * from ls_jg_dfys\u003c/code\u003e\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMySQL中的UNION ALL\u003c/strong\u003e\n而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。\n从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003ccode\u003eselect * from gc_dfys union all select * from …\u003c/code\u003e\u003c/p\u003e\u003c/blockquote\u003e"
July 31, 2009
详细讲解C++ 类的继承
"\u003cp\u003e一个私有的或保护的派生类不是子类,因为非公共的派生类不能做基类能做的所有的事,就是指在公开场合,但是在类内部可以的\u003c/p\u003e\n\u003ch3 id=\"一引言\"\u003e一、引言\u003c/h3\u003e\n\u003cp\u003e在C++中,类是提供封装的逻辑单位,类的每一个对象都包含有描述其自身状态的数据集合,并且通过接收特定的消息来处理这个数据集合。如果程序设计 人员能够通过增加、修改或替换指定类的部分内容的方法对该类进行剪裁,就可以适应不同的应用,从而在很大程度上增强了数据封装的价值,而接下来要讨论的继 承就完全可以实现这种操作。\u003c/p\u003e\n\u003ch3 id=\"二与继承有关的基本概念\"\u003e二、与继承有关的基本概念\u003c/h3\u003e\n\u003cp\u003e继承是一个进程,通过继承,一个对象可以获得另一个对象的属性(包括函数),并可向其中加入属于自己的一些特征。作为C++语言的一种重要机制,用 继承的方法可以自动为一个类提供来自另一个类的操作和数据结构,进而使程序设计人员在一个一般的类的基础上很快建立一个新的类,而不必从零开始设计每个 类。\u003c/p\u003e\n\u003cp\u003e当一个类被其他的类继承时,被继承的类称为基类(可不是鸡肋^_^),又称为父类。\u003c/p\u003e\n\u003cp\u003e继承其他类属性的类称为派生类,又称为子类。\u003c/p\u003e\n\u003cp\u003e一般情况下,继承的进程起源于一个基类的定义,基类定义了其所有派生类的公有属性。从本质上讲,基类具有同一类集合中的公共属 …\u003c/p\u003e"
July 2, 2009
Mysql Master/Slave模式实战
"\u003cp\u003e**1.master上授权给slave\n** mysql\u0026gt;grant all on *.* to repadmin@’218.6.67.75′ identified by ‘backup’;\nmysql\u0026gt;flush privileges;\nmysql\u0026gt;use abs;\nmysql\u0026gt;create table mysqlslave (status char(8));\nmysql\u0026gt;insert into mysqlslave values (‘aaaa’);\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2.shutdown master\u003c/strong\u003e\nmysqladmin -u root shutdown\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3.拷贝数据文件\u003c/strong\u003e\n直接把数据文件夹打包拷贝到slave去。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4.修改Master的my.cnf文件,在[mysqld]处增加\u003c/strong\u003e\nmaster /etc/my.cnf:\nlog-bin\nserver-id = 1\nsql-bin-update-same\nbinlog-do-db = abs\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.修改Slave的my.cnf文件\u003c/strong\u003e\nserver-id = 2\nmaster-host = …\u003c/p\u003e"
June 27, 2009
解决Default storage engine (InnoDB) is not available导致mysql无法启动的
"\u003cp\u003e一次为了修改mysql的root用户密码,就启用了本机启动模式,可再次启用mysql时,却揭示:Default storage engine (InnoDB) is not available ,mysql无法启动,后搜索网络,得知应该是配置文件有错,这里提示:“060827 1:12:22 [ERROR] Default storage engine (InnoDB) is not available”\n打开my.ini或my.cnf文件,找到default-storage-engine这一行,把它改成default-storage-engine=MyISAM。\u003c/p\u003e"
June 26, 2009
MySQL特异功能之:Impossible WHERE noticed after reading const tables
"\u003cp\u003e用EXPLAIN看MySQL的执行计划时经常会看到Impossible WHERE noticed after reading const tables这句话,意思是说MySQL通过读取“const tables”,发现这个查询是不可能有结果输出的。比如对下面的表和数据:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e create table t (a int primary key, b int) engine = innodb;\n insert into t values(1, 1);\n insert into t values(3, 1);\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e执行“EXPLAIN select * from t where a = 2”时就会输出“Impossible WHERE noticed after reading const tables”。\u003c/p\u003e\n\u003cp\u003e不 明白所谓的“const tables”是什么意思,对MySQL在查询优化时竟然可以发现一个查询不可能输出结果更是感觉不可思议。按数据库中“传统”的做法,查询优化时只会访 问模式定义和统计信息,而据我所知,数据库中使用的各种统计信息如EquiDepth、MaxDiff柱状图,MCV, …\u003c/p\u003e"
June 23, 2009
用mrtg监控网络设备端口流量
"\u003cp\u003e被监控设备必须支持snmp协议,因为mrtg就是通过snmp协议来获取该设备的端口流量信息。如何在一个网络设备上启用snmp协议呢?\u003c/p\u003e\n\u003cp\u003e在配置模式下执行如下命令:3550(config)#snmp-server community public ro,启用snmp协议。启用后才能使用mrtg进行监控。\u003c/p\u003e\n\u003cp\u003e我中心用一台linux服务器监控三台网络设备的流量,其服务器地址为10.66.100.100/16,三台交换机的任一VLAN地址分别为 192.168.3.253,172.19.96.2,10.70.0.1。现为了叙述方便,仅选取10网段的交换机为例进行说明。其他设备方法相同,不 再赘述。\u003c/p\u003e\n\u003cp\u003e在执行mrtg的各步操作前,linux系统中必须先安装apache服务,用于网页发布。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eI、Apache服务的安装\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e因为mrtg是以网页的形式来显示被监测设备的端口流量信息的,所以必须先安装apache服务。现将安装过程中的几个问题描述如下:\u003c/p\u003e\n\u003cp\u003e下载apache-2.0.44-2.i586.rpm软件包,安装时系统显示”libssl.so.0 is needed by …\u003c/p\u003e"
June 23, 2009
使用FreeBSD的SNMP+MRTG网络流量分析
"\u003cp\u003e、 安装SNMP\n一般版本的FreeBSD系统SNMP存放在/usr/ports/net/net-snmp下面,但是有的版本不是。有些版本 在安装Package的时候,除了要安装Net之外,还要安装Net-mgmt里面的SNMP,安装好之后,SNMP就存放在/usr/ports /net-mgmt/net-snmp下面了。下面就是安装过程:\n# cd /usr/ports/net-mgmt/net-snmp #snmp的存放路径\n# make install clean #安装snmp\n# ee /etc/rc.conf\nsnmpd_enable=”YES”\nsnmpd_flags=”-p /var/run/snmpd.pid”\n# /etc/netstart\n# ee /usr/local/share/snmp/snmpd.conf\nrocommunity public\n# /usr/local/etc/rc.d/snmpd.sh start #启动snmp\u003c/p\u003e\n\u003cp\u003e2、 安装mrtg\nmrtg根据不同的版本存放的位置不同,一般存放在/usr/ports/net/net-snmp下面,这里介 …\u003c/p\u003e"
June 23, 2009
MRTG FOR WINDOWS 安装指南
"\u003cp\u003eMRTG(Multi Router Traffic Grapher),通常讲是一个监控网络链路流量负载的开源软件,它可以从所有运行SNMP协议的设备上(包括服务器、路由器、交换机等)抓取信息。事实上它不仅可以监控网络设备,任何其它的支持SNMP协议的设备都可以做为MRTG的监控对象,并自动生成包含PNG图形格式的HTML文档,通过HTTP 方式显示给用户。\u003c/p\u003e\n\u003cp\u003e官方的安装指导:http://mrtg.cs.pu.edu.tw/doc/mrtg-nt-guide.en.html\u003c/p\u003e\n\u003cp\u003e准备安装环境\u003c/p\u003e\n\u003cp\u003e安装之前,除了MRTG安装程序外,还要下载几个辅助软件。这些软件全部是免费的。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e下载MRTG\n\u003ca href=\"http://www.mrtg.org\"\u003ehttp://www.mrtg.org\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e下载ActivePerl\n\u003ca href=\"http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl\"\u003ehttp://www.activestate.com/Products/Download/Download.plex?id=ActivePerl\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e下载Windows服务安装工具:SERANY.exe 和 INSTSRV.exe\n\u003ca href=\"http://www.electrasoft.com/srvany/srvany.htm\"\u003ehttp://www.electrasoft.com/srvany/srvany.htm\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e安装MRTG\u003c/p\u003e\n\u003cp\u003e …\u003c/p\u003e"
June 23, 2009
mysqlbinlog:用于处理二进制日志文件的实用工具
"\u003ch2 id=\"服务器生成的二进制日志文件写成二进制格式要想检查这些文本格式的文件应使用mysqlbinlog实用工具\"\u003e服务器生成的二进制日志文件写成二进制格式。要想检查这些文本格式的文件,应使用mysqlbinlog实用工具。\u003c/h2\u003e\n\u003cp\u003e应这样调用mysqlbinlog:shell\u0026gt; \u003cstrong\u003emysqlbinlog [options] \u003cem\u003elog-files\u003c/em\u003e…\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e例如,要想显示二进制日志binlog.000003的内容,使用下面的命令:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eshell\u0026gt; mysqlbinlog binlog.0000003\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e输出包括在binlog.000003中包含的所有语句,以及其它信息例如每个语句花费的时间、客户发出的线程ID、发出线程时的时间戳等等。\u003c/p\u003e\n\u003cp\u003e通常情况,可以使用\u003cstrong\u003emysqlbinlog\u003c/strong\u003e直接读取二进制日志文件并将它们用于本地MySQL服务器。也可以使用–read-from-remote-server选项从远程服务器读取二进制日志。\u003c/p\u003e\n\u003cp\u003e当读取远程二进制日志时,可以通过连接参数选项来指示如何连接服务器,但它们经常被忽略掉,除非你还指定了–read-from-remote-server选项。这些选项是–host、–password、–port、–protocol、–socket和–user。\u003c/p\u003e\n\u003cp\u003e还可以使用\u003cstrong\u003emysqlbinlog\u003c/strong\u003e来读取 …\u003c/p\u003e"
June 23, 2009
MYSQL慢速(SLOW LOG)脚本分析
"\u003cp\u003emysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,\n要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf(Windows为my.ini文件)里面修改,需增加如下几行\u003c/p\u003e\n\u003cp\u003e`long_query_time = 1\u003c/p\u003e\n\u003cp\u003elog-slow-queries = /var/youpath/slow.log\u003c/p\u003e\n\u003cp\u003elog-queries-not-using-indexes`\u003c/p\u003e\n\u003cp\u003elong_query_time 是指执行超过多久的sql会被log下来,这里是1秒。\nlog-slow-queries 设置把日志写在那里,可以为空,系统会给一个缺省的文件host_name-slow.log,\nlog-queries-not-using-indexes 就是字面意思,log下来没有使用索引的query。\u003c/p\u003e\n\u003cp\u003emysql有以下几种日志:\n\u003cstrong\u003e错误日志: -log-err\n查询日志: -log\n慢查询日志: -log-slow-queries\n更新日志: -log-update\n二进制日志: -log-bin\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e把上述参数打开,运 …\u003c/p\u003e"
June 21, 2009
Nginx常见应用技术-Tips
"\u003cp\u003e目 录\u003c/p\u003e\n\u003cp\u003e一、 Nginx 基础知识\u003c/p\u003e\n\u003cp\u003e二、 Nginx 安装及调试\u003c/p\u003e\n\u003cp\u003e三、 Nginx Rewrite\u003c/p\u003e\n\u003cp\u003e四、 Nginx Redirect\u003c/p\u003e\n\u003cp\u003e五、 Nginx 目录自动加斜线:\u003c/p\u003e\n\u003cp\u003e六、 Nginx Location\u003c/p\u003e\n\u003cp\u003e七、 Nginx expires\u003c/p\u003e\n\u003cp\u003e八、 Nginx 防盗链\u003c/p\u003e\n\u003cp\u003e九、 Nginx 访问控制\u003c/p\u003e\n\u003cp\u003e十、 Nginx 日志处理\u003c/p\u003e\n\u003cp\u003e十一、 Nginx Cache\u003c/p\u003e\n\u003cp\u003e十二、 Nginx 负载均衡\u003c/p\u003e\n\u003cp\u003e十三、 Nginx 简单优化\u003c/p\u003e\n\u003cp\u003e十四、 如何构建高性能的 LEMP 环境\u003c/p\u003e\n\u003cp\u003e十五、 Nginx 服务监控\u003c/p\u003e\n\u003cp\u003e十六、 常见问题与错误处理.\u003c/p\u003e\n\u003cp\u003e十七、 相关资源下载\u003c/p\u003e\n\u003cp\u003e作者:NetSeek\u003c/p\u003e\n\u003cp\u003e欢迎转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明.\u003c/p\u003e\n\u003cp\u003e首发时间: 2008-11-25\u003c/p\u003e\n\u003cp\u003e转帖NetSeek的Nginx Tips 希望对广大Cuer有用!\u003c/p\u003e\n\u003cp\u003e附件pdf: \u003ca href=\"/wp-content/uploads/2009/06/20090615_5e83f7a0addbb093df4fjp2nchwhwggc.pdf\"\u003eNginx常见应用技术-Tips.pdf\u003c/a\u003e\u003c/p\u003e"