Tag Archives: MT

DBA notes 准备迁移到 (mt)

估计有些访问我的 Blog 的朋友已经被本站留言时的糟糕表现烦透了。其实我何尝不烦? 每当发贴子的时候,总要忍受一堆 HTTP 500 错误后才能成功,要多不爽有多不爽。趁着 (mt) 这段时间搞活动,买了一年 Grid Service (lite)。期待迁移完毕后 Blog 稳定性表现能好点。

有朋友帮我买了一台 1U 的服务器,国内有什么好一点的托管商麽? 最好不要被随时拔网线的,拔网线倒也问题不大,最好不要把机器抬走就成。

其实这么折腾来折腾去的,只是希望能有个稳定一点的写字儿空间罢了.

另外,今天也把域名转移的相关资料准备了一下,打算把这个域名也迁移到国外的域名服务商那里。不为别的,在国内一直不太放心罢了,虽然我的 Blog 没啥犯忌讳的内容。原来域名是通过代理缴费的,在这方面我是菜鸟,被鄙视的不轻,不过他们的服务态度还是很好的。

EOF

一些来访者查询的诡异内容

因为用 Google Reader 订阅了本站后台的 Activity Log,有的时候观察到一些奇怪的查询内容。比如,这几天频繁出现的查询是:黄垂玲。搜索我的 Blog 应该不会出现这个内容吧? 我也是查询 Google 后才知道怎么回事。友情提示,建议这位着急的朋友去电驴上或者用迅雷搜索一下,就别在我这里折腾了。

仔细看看这些系统后台日志,发现还有的人反复的查询 ”Arch and 1=1“或者相近的内容。准是 “SQL 注入攻击” 的安全扫盲文章看多了,我这个破站有啥内容值得注射的? Dreamhost 三天两头宕机,安全性差的狠。友情提醒: 您的IP已经被我记录,歇会儿!别累着。

更为诡异的一个查询是”lesbian“,我彻底晕了。如果是中国人,建议安装个金山词霸,如果是外国人,我建议你还是去 Google 查询: define:lesbian , 或者 Flickr 查询图片吧!

EOF

MT4 反复提示升级的问题解决办法经过实践验证

前几天我提到过 MT 4 反复提示升级的 Bug,并且提出了临时解决办法,当时我也不确定该办法是否管用。

昨天登录 Blog 的时候,又提示我升级,差点晕倒(乖乖龙的东,莫非我的戏法不灵?)。这回我学了乖,观察一下数据库中的值,发现 MT_CONFIG 中的config_data字段的值”丢失”了如下内容:

SchemaVersion 4.0026

手工更新了该值内容,把 “SchemaVersion 4.0026” 加进去,回到登录页面,刷新,已经不提示更新了。

经过这次修改,可以负责任的告诉 MT 4 用户:可以用我的土办法来暂时避免该问题了。当然这个直接修改数据库的办法是不被 MT 开发人员推荐的,可是不这么做现在有什么更好的办法麽?

MT 4 是一个让人又爱又恨的版本.

EOF

MT 4 最烦人的BUG: 反复提示升级

我前面的文章一直夸 MT 4 的一些优点,今天实在忍不住了,说说 MT 4 这个恼人的 Bug。

从 MT 3.3x 升级到 MT 4 之后,经常在登录的时候会提示:

Time to Upgrade!

而且,这个提示还是没办法跳过去的,只得选择 Upgrade,Upgrade 之后,很多配置和模版的内容又变成默认的,还要重新设定。可没几天,又会提示升级。烦死。

在 MT 邮件列表里发了这个消息(可怜我的蹩脚英语啊),发现很多人都遇到了类似的情况。但是 Byrne Reese 似乎一时也找不到好的办法,许诺谁能协助解决将有奖励: ” A $50 Amazon Gift Certificate/Bounty has been declared for anyone who can help us track down the root cause of this”。此外,MT 4.01 Beta 版的问题列表也说这个问题还没有解决。

经过观察,发现每次都是提示数据库 Schema 版本从 MT 3.2 升级到 4.0026。邮件列表里有个人的提示很有帮助:

The upgrade check is in MT/App/CMS.pm, sub init_request.  It occurs when the schema version stored in the database ($app->config('SchemaVersion')) < the schema version stored in the application code ($app->schema_version). 

数据库里面 Schema Version 存储在 MT_CONFIG 表里,检查这个表的记录(共有20多条),发现第一条(config_id) 的config_data字段的值为:

SchemaVersion 4.0026
SQLSetNames 0

而其他行的值是 :

SQLSetNames 0

也就是说其他行是不包含 SchemaVersion 的值。猜测升级程序在这里取值取错了(这个表的设计也够糟糕的了),立刻找一个全新的 MT 4 安装,发现这个表是只有一行记录的。决定删掉多余的记录。目前没有发现错误。

是否彻底避免了这个问题,还有待观察。如果你等不及的话,可以看看 MT_CONFIG 表的数据是否也是类似我这样的。

EOF