﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-兼容并包，思想自由</title><link>http://www.blogjava.net/Steven-Liu/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 08:56:50 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 08:56:50 GMT</pubDate><ttl>60</ttl><item><title>Tomcat与Http服务器的集成</title><link>http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39667.html</link><dc:creator>Steven Liu</dc:creator><author>Steven Liu</author><pubDate>Thu, 06 Apr 2006 11:44:00 GMT</pubDate><guid>http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39667.html</guid><wfw:comment>http://www.blogjava.net/Steven-Liu/comments/39667.html</wfw:comment><comments>http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39667.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Steven-Liu/comments/commentRss/39667.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Steven-Liu/services/trackbacks/39667.html</trackback:ping><description><![CDATA[Tomcat是jsp/servlet container，对静态资源（如HTML文件或图像文件）的处理速度，以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器，如IIS和Apache服务器。<br />我是以Tomcat5.0.16，apache_2.0.55Http Server，mod_jk-apache-2.0.55.so jk插件进行集成。<br />一、基本原理<br />Tomcat的两个常用连接器，<br />第一个连接器监听8080端口，负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时，使用的就是这个连接器。　　<br />第二个连接器监听8009端口，负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时，就需要用到这个连接器。<br /><img src="c:\2005.6.8.9.44.55.1副本.gif" /><br />查看conf/server.xml文件，<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Service </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Catalina"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Connector </span><span style="COLOR: #ff0000">acceptCount</span><span style="COLOR: #0000ff">="100"</span><span style="COLOR: #ff0000"> connectionTimeout</span><span style="COLOR: #0000ff">="20000"</span><span style="COLOR: #ff0000"> port</span><span style="COLOR: #0000ff">="8080"</span><span style="COLOR: #ff0000"> redirectPort</span><span style="COLOR: #0000ff">="8443"</span><span style="COLOR: #ff0000"> disableUploadTimeout</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Connector</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Connector </span><span style="COLOR: #ff0000">protocol</span><span style="COLOR: #0000ff">="AJP/1.3"</span><span style="COLOR: #ff0000"> port</span><span style="COLOR: #0000ff">="8009"</span><span style="COLOR: #ff0000"> redirectPort</span><span style="COLOR: #0000ff">="8443"</span><span style="COLOR: #ff0000"> protocolHandlerClassName</span><span style="COLOR: #0000ff">="org.apache.jk.server.JkCoyoteHandler"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Connector</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Engine </span><span style="COLOR: #ff0000">defaultHost</span><span style="COLOR: #0000ff">="localhost"</span><span style="COLOR: #ff0000"> name</span><span style="COLOR: #0000ff">="Catalina"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Host </span><span style="COLOR: #ff0000">appBase</span><span style="COLOR: #0000ff">="webapps"</span><span style="COLOR: #ff0000"> name</span><span style="COLOR: #0000ff">="localhost"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Logger </span><span style="COLOR: #ff0000">className</span><span style="COLOR: #0000ff">="org.apache.catalina.logger.FileLogger"</span><span style="COLOR: #ff0000"> suffix</span><span style="COLOR: #0000ff">=".txt"</span><span style="COLOR: #ff0000"> prefix</span><span style="COLOR: #0000ff">="localhost_log."</span><span style="COLOR: #ff0000"> timestamp</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Host</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Logger </span><span style="COLOR: #ff0000">className</span><span style="COLOR: #0000ff">="org.apache.catalina.logger.FileLogger"</span><span style="COLOR: #ff0000"> suffix</span><span style="COLOR: #0000ff">=".txt"</span><span style="COLOR: #ff0000"> prefix</span><span style="COLOR: #0000ff">="catalina_log."</span><span style="COLOR: #ff0000"> timestamp</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Realm </span><span style="COLOR: #ff0000">className</span><span style="COLOR: #0000ff">="org.apache.catalina.realm.UserDatabaseRealm"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Engine</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Service</span><span style="COLOR: #0000ff">&gt;</span></div>根据以上Service，可以tomcat的安装目录找到conf/Catalina/localhost目录，里面的XML文件为配置该service所有的Context，一个xml文件对应一个context配置。<br />打开admin.xml，<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Context </span><span style="COLOR: #ff0000">privileged</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/admin"</span><span style="COLOR: #ff0000"> displayName</span><span style="COLOR: #0000ff">="Tomcat Administration Application"</span><span style="COLOR: #ff0000"> docBase</span><span style="COLOR: #0000ff">="../server/webapps/admin"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">Logger </span><span style="COLOR: #ff0000">className</span><span style="COLOR: #0000ff">="org.apache.catalina.logger.FileLogger"</span><span style="COLOR: #ff0000"> suffix</span><span style="COLOR: #0000ff">=".txt"</span><span style="COLOR: #ff0000"> prefix</span><span style="COLOR: #0000ff">="localhost_admin_log."</span><span style="COLOR: #ff0000"> timestamp</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">Context</span><span style="COLOR: #0000ff">&gt;</span></div>可以看到，配置了一个/admin的context，其docBase为/server/webapps/admin。<br /><font color="#ff0000">二、集成目标<br /></font>我们对tomcat和http 服务器进行集成的目标就是：让http服务器在80端口进行监听，如果碰到访问静态的html/图片文件访问，直接由http服务器进行处理。如果碰到jsp/servlet等访问，则通过jk插件，转发到tomcat监听的8009端口，由tomcat处理。<br /><font color="#ff0000">三、实施步骤</font><br />1、安装apache http server, tomcat. 从略。<br />2、安装jk插件。<br />把mod_jk-apache-2.0.55.so拷贝到http server的/modules目录即可。<br />3、配置apache htpp server，打开conf/httpd.conf文件，<br />(1)修改Website根目录，<br />找到DocumentRoot，改为你想放置网站根目录的地方<br />DocumentRoot "D:/java/Tomcat5.0/webapps/ROOT"<br />(2)加载jk插件及配置属性<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#加载模块<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />LoadModule jk_module modules/mod_jk-apache-</span><span style="COLOR: #000000">2.0.55</span><span style="COLOR: #000000">.so<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#工作属性文件<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkWorkersFile conf/workers.properties<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#日志存放<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkLogFile logs/mod_jk2.log<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#日志等级<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkLogLevel info<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#日期格式<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkLogStampFormat </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[%a %b %d %H:%M:%S %Y]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#日志格式<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkRequestLogFormat </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%w %V %T</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#Url转发到tomcat<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkMount /*.jsp worker1<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />JkMount /*.page worker1</span></div>4、新建conf/workers.properties<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">#让mod_jk模块知道Tomcat<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />workers.tomcat_home</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">D:\java\Tomcat5</span><span style="COLOR: #000000">.0</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#让mod_jk模块知道j2sdk<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />workers.java_home</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">D:\java\j2se<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#所配置的Tomcat列表<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />worker.list</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">worker1<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#工作端口，若没占用则不用修改<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />worker.worker1.port</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">8009</span><span style="COLOR: #000000">　　<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#Tomcat服务器的地址<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />worker.worker1.host</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">localhost<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />　　<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#类型<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />worker.worker1.type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ajp13</span></div>5、配置tomcat<br />安装tomcat后，会发现webapps已经有许多目录，其中已有一个Root为tomcat默认的"/"context.<br />将tomcat webapps下的一些不需要的目录删去，把Root下的文件删除，并把你需要配置的网站内容拷贝到此目录下。<br />找到conf/Catalina/localhost目录，删除一些没用的xml文件，有些xml文件是tomcat启动时按照webapps的目录自动产生的context。<br />四、开发时配置<br />在进行开发时，如果我们使用的是tomcat，我们可以采用此种方法进行配置。<br />1、通过<a href="http://localhost:6060/index.jsp">http://localhost:6060/index.jsp</a>与<a href="http://localhost/index.jsp">http://localhost/index.jsp</a>访问效果是一样的，<br />但<a href="http://localhost/aBigPicture.gif">http://localhost/aBigPicture.gif</a>的访问可能比直接访问tomcat要快多了。<br />2、进入<a href="http://localhost:6060/admin">http://localhost:6060/admin</a>，默认user:admin,password为空，<br />查看service下面的context，最好把当前开发的web的context的reloadable设置为true，我们所做的修改tomcat会自动重新加载，不用重启tomcat就能立即看到新的变化。<br />3、在eclipse中将网站的源代码发布到tomcat中有两种方法，<br />一种是采用eclipse自带的depoly功能，将web发布到webapps/ROOT目录，或任一目录，对应的只是修改conf/Catalina/localhost的xml文件。<br />另一种方法是采用ant，一个xml文件用于全发布(clean,compile,java,copy)，另一个xml文件则只发布修改的(compile,copy)。<br />小项目用第一种方便，每次修改了源代码，只需刷新一下，eclipse就自动帮你depoly到目的地；<br />当采用第二种时，每次小修改时，需要运行一次ant，把修改的内容重新拷贝并发布过去；如果发布的内容很脏时，有时需全发布(clean,compile,java,copy)。<br /><br />配置httpd.conf和workers.properties的详细内容，请参考：<br /><a href="http://tomcat.apache.org/connectors-doc/">http://tomcat.apache.org/connectors-doc/</a><img src ="http://www.blogjava.net/Steven-Liu/aggbug/39667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Steven-Liu/" target="_blank">Steven Liu</a> 2006-04-06 19:44 <a href="http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript中一个事件激活多个函数</title><link>http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39606.html</link><dc:creator>Steven Liu</dc:creator><author>Steven Liu</author><pubDate>Thu, 06 Apr 2006 07:59:00 GMT</pubDate><guid>http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39606.html</guid><wfw:comment>http://www.blogjava.net/Steven-Liu/comments/39606.html</wfw:comment><comments>http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39606.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Steven-Liu/comments/commentRss/39606.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Steven-Liu/services/trackbacks/39606.html</trackback:ping><description><![CDATA[
		<p>
				<strong>
						<font color="#ff9900" size="4">问题描述:</font>
				</strong>
				<br />已有如下代码，</p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">body </span>
				<span style="COLOR: #ff0000">onLoad</span>
				<span style="COLOR: #0000ff">="MM_timelinePlay('Timeline1')"</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<img src="http://www.blogjava.net/images/dot.gif" />
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<img src="http://www.blogjava.net/images/dot.gif" />
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">body</span>
				<span style="COLOR: #0000ff">&gt;</span>
		</div>即document.body.onload事件已经绑定了一个函数。<br />现需要onload时激活另外一个函数，如<font color="#0066ff">enetgetMsg()，</font>如何处理？<br /><br /><font color="#ff66ff" size="4"><strong>解决方案：<br /></strong><font color="#000000">alert(<font size="3">document.body.onload.toString())<br />弹出窗口的内容为：<br />function anonymous()<br />{<br />　　<font color="#0000ff">MM_timelinePlay('Timeline1')</font><br />}<br />可见，当对onload绑定一个函数时，javascript自定义了一个函数，在该自定义函数体内调用了该绑定函数。<br />解决方法一：<br />重新写一函数，<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id="Codehighlighter1_21_67_Open_Image" onclick="this.style.display='none'; Codehighlighter1_21_67_Open_Text.style.display='none'; Codehighlighter1_21_67_Closed_Image.style.display='inline'; Codehighlighter1_21_67_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_21_67_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_21_67_Closed_Text.style.display='none'; Codehighlighter1_21_67_Open_Image.style.display='inline'; Codehighlighter1_21_67_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> bodyOnload()</span><span id="Codehighlighter1_21_67_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_21_67_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />MM_timelinePlay('Timeline1');<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />enetgetMsg();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body </span><span style="COLOR: #ff0000">onLoad</span><span style="COLOR: #0000ff">="bodyOnload()"</span><span style="COLOR: #0000ff">&gt;</span></div>解决方法二：<br />利用javascript重定义函数的功能，<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">newBodyload</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">enetgetMsg();</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(document.body.onload)<br /><img id="Codehighlighter1_54_199_Open_Image" onclick="this.style.display='none'; Codehighlighter1_54_199_Open_Text.style.display='none'; Codehighlighter1_54_199_Closed_Image.style.display='inline'; Codehighlighter1_54_199_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_54_199_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_54_199_Closed_Text.style.display='none'; Codehighlighter1_54_199_Open_Image.style.display='inline'; Codehighlighter1_54_199_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_54_199_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_54_199_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />eval(document.body.onload.toString().replace('anonymous()','oldBodyload()'));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />document.body.onload</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Function(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">oldBodyload();</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">newBodyload);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> document.body.onload</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Function(newBodyload);</span></div></font></font></font>显然，第二种方法更好，因为这种方法实现时不必关心以前这个事件绑定了多少个函数，不需修改原先的代码，透明地增加一个函数。（decorate模式：透明地增加功能<img height="19" src="http://www.blogjava.net/Emoticons/regular_smile.gif" width="19" border="0" />）<img src ="http://www.blogjava.net/Steven-Liu/aggbug/39606.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Steven-Liu/" target="_blank">Steven Liu</a> 2006-04-06 15:59 <a href="http://www.blogjava.net/Steven-Liu/archive/2006/04/06/39606.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在RedHat Enterprise 4.0下面安装MySQL </title><link>http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38517.html</link><dc:creator>Steven Liu</dc:creator><author>Steven Liu</author><pubDate>Fri, 31 Mar 2006 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38517.html</guid><wfw:comment>http://www.blogjava.net/Steven-Liu/comments/38517.html</wfw:comment><comments>http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Steven-Liu/comments/commentRss/38517.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Steven-Liu/services/trackbacks/38517.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">前段时间参加一个linux/C++项目，碰到一些问题，现逐步整理出来。<img height="20" src="http://www.blogjava.net/Emoticons/QQ/15.gif" width="20" border="0" /><br />我使用的RHEL的内核版本是2.6.9</span>
						<code>
								<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">-11EL。<br /><font color="#ff6600"><strong>问题描述：</strong><br /></font></span>
						</code>
				</font>
		</div>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">1</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、在</span>
						<span lang="EN-US">
								<font face="Times New Roman">RHEL4.0</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">盘中自带了</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL4.10</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的数据库，客户端的为</span>
						<span lang="EN-US">
								<font face="Times New Roman">3.25</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版本。在安装时，选择安装此数据库，装完后却发现不能用</span>
				</span>
				<span class="postbody">
						<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings">
								<span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">L</span>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，可能是因为链接库的问题。</span>
						<span lang="EN-US">
								<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">2</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、下载</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL4.16</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的安装文件，包括</span>
						<span lang="EN-US">
								<font face="Times New Roman">shared</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
						<span lang="EN-US">
								<font face="Times New Roman">server</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
						<span lang="EN-US">
								<font face="Times New Roman">client</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，安装完成后，发现还是不能用</span>
				</span>
				<span class="postbody">
						<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings">
								<span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">L</span>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。<br /></span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<font color="#ff3333">
										<strong>冒昧猜测：<br />RHEL4.0中自带的mysql根本就不能用，并且误导众多人不相信自带的东西不能用。<img height="20" src="http://www.blogjava.net/Emoticons/QQ/silence.gif" width="20" border="0" /><br /><br /></strong>
								</font>建议安装</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之前，将原先已安装的任何有关</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的包进行清除。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主要针对以下两种</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySql</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包进行清除：</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">1</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
						<span lang="EN-US">
								<font face="Times New Roman">RHEL4.0</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自带的</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySql</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包，即使在安装</span>
						<span lang="EN-US">
								<font face="Times New Roman">RHEL4.0</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候，没有选择安装</span>
						<span lang="EN-US">
								<font face="Times New Roman">Mysql</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，也会默认安装</span>
						<span lang="EN-US">
								<font face="Times New Roman">Mysql3.23</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的客户端。因此在安装之前，应予以清除。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查看已安装的：</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">&gt;rpm –qa| grep mysql<o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后删除每个已安装的包，</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">&gt;rpm –e mysql-client-3.25***<o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果系统提示此包有被别的包使用，这时需要先删除这个依赖包，然后再一步步地往上删除。请具体情况具体分析，多看屏幕提示</span>
				</span>
				<span class="postbody">
						<span lang="EN-US" style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings">
								<span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">J</span>
						</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">2</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、删除一些自已安装的</span>
						<span lang="EN-US">
								<font face="Times New Roman">rpm</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查看已安装的：</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">&gt;rpm –qa|grep MySQL<o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同样地，然后一个个地删除已安装的包，</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">&gt;rpm –e MySQL-server*****<o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<br />采用编译</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源码的形式安装</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，这样比较具有通用性。<br /><font color="#0033ff"><strong><em><u>感悟：编译源代码安装软件是最过硬的安装方法，有时这是很好的解决方案。当然代价是安装过程比较烦琐。</u></em></strong></font></span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下载</span>
						<span lang="EN-US">
								<font face="Times New Roman">MySQL</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源代码，这里假设下载的是</span>
						<span lang="EN-US">
								<font face="Times New Roman">mysql-VERSION.tar.gz</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样的一个包，具体的</span>
						<span lang="EN-US">
								<font face="Times New Roman">VERSION</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表具体的版本：</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">1</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、为</span>
						<span lang="EN-US">
								<font face="Times New Roman">‘mysqld’</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">增添一个登陆用户和组。如果前面已安装过mysql,可能已存在组和用户。</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; groupadd mysql </font>
						</span>
				</span>
				<span lang="EN-US">
						<br />
						<span class="postbody">
								<font face="Times New Roman">shell&gt; useradd -g mysql mysql <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">2</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、将源码解压后一个目录，最好把源码放到</span>
						<span lang="EN-US">
								<font face="Times New Roman">tmp</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录，解到此目录中。具体解包，可以采用</span>
						<span lang="EN-US">
								<font face="Times New Roman">RHEL4</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的图形操作解压缩方法，不必打命令。</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; gunzip &lt; mysql-VERSION.tar.gz | tar -xvf – <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">3</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、进入已解压缩的目录</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; cd mysql-VERSION <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">4</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、配置安装，</span>
						<span lang="EN-US">
								<font face="Times New Roman">/usr/local/mysql</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为安装路径</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; ./configure --prefix=/usr/local/mysql <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">5</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、编译与安装</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; make <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; make install </font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font face="Times New Roman">6</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、拷贝选项模板文件</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; cp support-files/my-medium.cnf /etc/my.cnf <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">7</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、安装数据库</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; cd /usr/local/mysql </font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; bin/mysql_install_db<br /></font>
						</span>
				</span>
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">8</font>
						</span>
				</span>
				<span class="postbody">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、更改文件夹读写权限</span>
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; chown -R root . </font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; chown -R mysql var </font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span class="postbody">
						<span lang="EN-US">
								<font face="Times New Roman">shell&gt; chgrp -R mysql . <o:p></o:p></font>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<font face="Times New Roman">9</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、启动</span>
				<span lang="EN-US">
						<font face="Times New Roman">mysql</font>
				</span>
		</p>
		<span class="postbody">
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">shell&gt; bin/mysqld_safe &amp; </span>
		</span>
<img src ="http://www.blogjava.net/Steven-Liu/aggbug/38517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Steven-Liu/" target="_blank">Steven Liu</a> 2006-03-31 17:57 <a href="http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小项目的工作要点</title><link>http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38509.html</link><dc:creator>Steven Liu</dc:creator><author>Steven Liu</author><pubDate>Fri, 31 Mar 2006 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38509.html</guid><wfw:comment>http://www.blogjava.net/Steven-Liu/comments/38509.html</wfw:comment><comments>http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38509.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Steven-Liu/comments/commentRss/38509.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Steven-Liu/services/trackbacks/38509.html</trackback:ping><description><![CDATA[
		<p>公司最近接到一个小项目，帮一个学院做一个网站。经理安排了我们两个人做，时间只有两周。BTW，我们公司有自己的CMS产品，所谓的做网站只是基于这个进行功能定制和扩充。<br />我刚从其它项目退下来，这个项目不熟悉，经理要我做部分模块，然后由那人负责集成。<br />我们两个人接到任务后，你做你的，我做我的，这其间经理也没过问过。我们俩都以为这项目处于瘫痪状态，因为一直没有收到客户的明确需求，不知道要确切要上些啥。<br />这星期一我请假了，没来公司。星期二一到公司，经理问我的模块做得怎样了？我心里直笑，我那点小东西早搞定了。星期二、星期三自己仍然漫不经过地把自己做得那点东西改改。<br />星期四了，经理要求看成果了，说是星期五要到客户里去演示。我跟那个兄弟一看这架式，赶快合并。弄了半天，首页没排齐。经理是个老好人，也没发什么火，只是叫我们俩合起来把它弄好。<br />我这边做的时候mysql安装的时候设置的编码是gbk，而他那边做的时候mysql安装的时候设置的编码是latin-1，我的数据库集成到他那边的mysql去的话，糟糕，全是乱码。<br />急……还好，找到了资料，知道了mysql支持数据库级别的编码设置，把自己机器上的mysql改为latin-1，然后重新建数据库<br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">CREATE</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">DATABASE</span>
				<span style="COLOR: #000000"> `forum` </span>
				<span style="COLOR: #0000ff">DEFAULT</span>
				<span style="COLOR: #000000"> </span>
				<span style="FONT-WEIGHT: bold; COLOR: #000000">CHARACTER</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">SET</span>
				<span style="COLOR: #000000"> gbk COLLATE gbk_chinese_ci;</span>
		</div>再测试，yeah，乱码问题解决。<br />心里暗想，把我数据库导到他的机子里，竟然不行！<br />Mysql服务器设置(latin-1)，建了一个数据库设置为gbk------&gt;迁移到另一台mysql上面怎么办?<br />最后在他机子上重建数据库解决。<br />那兄弟家较远，先回了；经理也先回了。最后我一个人忙到快11点，才好不容易把页面排版，集成的问题搞定。BTW，那兄弟人品好，做人到位，好学。所以为他做点不，心里很乐意。<br />经理今天叫我们到会议室，聊了快二个小时。感觉还有点道理，小记一下。<br />1、分工后，只有两人以上参与，自己要交流。事实：我俩感情是好，可是交流的都是生活上的事，技术上的交流也是泛泛而谈，偏偏对这种小项目的事，我俩都不怎的爱交流。<br />2、要有计划。预则立啊，这道理很浅显。事实：我俩都漫不经心，没有把这项目太当回事，更不要说计划。<br />3、要有主次之分。网站最重要的是美观。首页都对不齐，其它的再好也没用。<br />4、微软的“多小多原则”。小版本，多发布，多阶段。<strong><font color="#ff33cc">带bug的软件是可以发布，关键是主要的地方要拿得出手。</font></strong>这一句意义最大，做软件不要钻牛角尖，太钻技术细节，结果弄得结点到了时首页还没对齐。<br />结论：<br />1、做软件不要懒，该整理的时候一定要整理。<br />2、做软件不要省，该配置的时候一定要配置，两个人开发也一定要配版本管理。<br />3、做软件要注意宏观。<img src ="http://www.blogjava.net/Steven-Liu/aggbug/38509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Steven-Liu/" target="_blank">Steven Liu</a> 2006-03-31 17:07 <a href="http://www.blogjava.net/Steven-Liu/archive/2006/03/31/38509.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>