12月份原来在炎黄的服务器空间就要过期了, 想了想是不是继续续费的问题, 最终决定还是搬到同济网服务器吧. 毕竟是一个经常关心的服务器, 几乎每天都来维护, 放在自己手里毕竟还是放心一点. 无奈同济网服务器上的MySQL字符集还是老的3.25版本的latin1字符集, MySQL的版本也过低, wordpress装不上. 更新字符集的问题老早就提出来了, 只是这个过程实在太复杂, 一直没实施. 其实这其中的每个细节我都仔细想过, 只是没有操作出来而已. 不过即便如此, 今天在真正操作的时候心里也是没底的.

起了个大早, 6点半就开始在Linux主机上工作, 一直做到下午, 一共转了近1000万行SQL数据, 把字符集成功转换成了gbk. 功在当代利在千秋的事情. 从此我们的服务器用上了最新版本的MySQL, Apache和PHP.

如何做的呢? 说下大概过程吧. MySQL的文档里讲推荐逐步升级, 3.x要先升级到4.0, 然后4.1, 然后5.0. 我觉得没必要, 另外4.0这样的老版本根本找不到下载了, 这个文档写的太XX了. 首先在MySQL 3.x里用mysqldump把数据导成SQL文件, 按照数据库导出, 大型数据库要注意对导出后的文件进行分割, 用如下命令:

split -l 100000 filename

进行按行分割, 我们的BBS分成了8个100万行的文件. 这样操作的原因是一旦出错, 修改的时候打开起来方便, 不至于每次打开一个3GB的大文件. 然后升级MySQL到5.0, 建数据库, 整理选成gbk_chinese_ci, 然后在每个将要导入的文件开头加上:

set names 'gbk';

然后用如下命令导入:

mysql -uroot -ppassword --default-character-set=gbk -f target_db < source.sql

这样的话, 就会在phpMyAdmin里面正确看到我们的母语. 别告诉我你不行. 我行你就行, 不然对不起孔子, 也对不起王选.

第二次进机房维护,这次终于搞定。上次去了Redhat Linux自带的Adaptec aic-7902的驱动加载了一半会卡住,当时失策地只带了一个发行版本(宿舍还有几个,当时为什么没带,想不通…)没办法只好拔了新硬盘换上旧的,打道回府。答辩完了之后气势汹汹带了N个Linux发行版本(Redhat AS4,CentOS,Ubuntu,Fedora Core,Windows 2003)就不信没一个能装得上…然后各种版本试了一遍,出现各种各样不同的问题,有的没驱动,有的卡住死机,有的光盘缺文件…终于,Fedora最终在我心惊胆颤下表现稳定,顺利安装好。

回来又做了一上午性能优化和一下午BUG修正(丢失了一些数据),估计修正到明天中午,同济网服务器应该可以以一个崭新的面貌迎接下面的5年~真希望能像jth和payaqa两位前辈一样,装个机器稳定跑3年。

放个机房照片,左上角插着我的光驱的就是同济网服务器~进机房是我从小到大一直的梦想…终于实现了,原来,机房里这么冷啊…

pict00173.jpg