eygle.com   eygle.com
eygle.com  
 

« 恭王府赏福字碑 | Blog首页 | 使用Perl连接Mysql数据库 »

eygle.com完成建站以来最大的一次迁移

作者:eygle |【转载时请以超链接形式标明文章和作者信息及本声明
链接:

昨晚对网站( eygle.com )进行了建站以来最大的一次迁移。
迁移的主要内容包括:
1.将数据库由Berkeley DB转为Mysql
转换原因:Berkeley DB的管理和操作困难,自己不熟悉;Mysql的管理和维护就容易得多,也可以很容易的进行一些小开发以完善站点功能.
最初选择Berkeley DB是因为配置简单,但是不支持SQL,管理实在麻烦;而且数据量大了之后,总觉得更新性能很差;虽然现在Berkeley DB已经属于Oracle了,但是还是选择换掉它。

2.将网站字符集由GB2312转换为UTF-8
转换原因:建站之初选择了GB2312字符集,可是这个字符集和其他网站进行数据交互时就出现了问题,乱码是最头痛的,这次痛下决心,将网站转为UTF-8编码。


转换主要有以下几个注意事项:
1.MTEntryBasename 的问题
由于MT的导出功能不导出BaseName属性,缺省的会丢失所有自定义的Basename,参考DCBA的修正解决了这个问题。
需要修改的文件是: $MT_HOME/lib/MT/ImportExport.pm
以下红色部分代码为修改部分:

} elsif ($key eq 'TITLE') {
    $entry->title($val);
} elsif ($key eq 'BASENAME') {
    $entry->basename($val);
} elsif ($key eq 'DATE') {

第二处:

TITLE: <$MTEntryTitle strip_linefeeds="1"$>
BASENAME: <$MTEntryBasename strip_linefeeds="1"$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>

2.MT的Tag导出问题
同样,MT的导出功能不能导出Tag,这也是一个麻烦事,参考路杨的Hack也解决了这个问题。

仍然是修改: $MT_HOME/lib/MT/ImportExport.pm
以下红色部分代码为修改部分:

AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
TITLE: <$MTEntryTitle strip_linefeeds="1"$>
STATUS: <$MTEntryStatus strip_linefeeds="1"$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
CONVERT BREAKS: <$MTEntryFlag flag="convert_breaks"$>
ALLOW PINGS: <$MTEntryFlag flag="allow_pings"$>
<MTEntryIfTagged>
Tags: <MTEntryTags><$MTTagName$>,</MTEntryTags>
</MTEntryIfTagged>

第二处修改为:

elsif ($key eq 'TITLE') {    $entry->title($val);  }
elsif ($key eq 'Tags') {
    if ($val)
            {
              $cb->(MT->translate("Find tags ('[_1]')...\n", $val));
               my @tagnames = split(',',$val);
               $entry->add_tags(@tagnames);
               }
}

现在MT3.3的导出功能是比较简单的,在MT的官方网站上看了一下,官方的说法是,目前正准备开发一个全新的导入导出模块,提供更为强大的功能,所以暂时不对现有的功能进行修正了。

接下来整个转换就比较顺利了,现在整个网站的后台是基于MySQL数据库的了。

-The End-


历史上的今天...
      >> 2005-12-12文章:
             Definer and Invoker Rights
             How to maintain Oracle10g Recyclebin?
      >> 2004-12-12文章:
------
这篇 【eygle.com完成建站以来最大的一次迁移】来自 www.eygle.com | CSDN技术网摘| del.icio.us|365Key

By eygle on 2006-12-12 10:36 | Comments (7) | Posted to Web | Edit |Pageviews:

相关文章 随机文章
  • MT归档分页插件(Paged Archives)几个问题的解决
  • MT4恼人的升级提示处理一则
  • 升级网站发布平台到MT 4.0版本
  • 遭遇不明流量攻击 网络是危险的
  • 完成网站迁移
  • Merry Christmas to my friends
    香港的旺角 梦幻的城市
    装修日记:安信地板之无商不奸篇
    城市女孩-王雅婕作品
    DBA生存之四大守则
    搜索本站:

    留言 (7)

    就是我的网站也被搬到MySQL罗 -_-

    Posted by: Julia at December 12, 2006 10:55 AM

    难怪昨天晚上乱码呢

    Posted by: zjusxzj at December 12, 2006 10:56 AM

    晕,还真有人看到乱码了:D

    Posted by: eygle at December 12, 2006 10:59 AM

    测试速度

    Posted by: anysql at December 12, 2006 11:00 AM

    oracle更熟,该用oracle嘛:)

    Posted by: jacky at December 12, 2006 3:07 PM

    Oracle太庞大了!

    Posted by: eygle at December 12, 2006 4:45 PM

    mysql好用

    Posted by: stronghearted at January 25, 2008 9:37 AM

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004 eygle.com, All rights reserved.