转换MT数据库

转换数据库
从Berkeley DB 到 MySQL。
看似简单,但是转换时还是碰到了问题。

在调用mt-db2sql.cgi文件,进行升级时总是出现下列错误:

WARNING: Use of uninitialized value in string eq at C:\Inetpub\wwwroot\mt\lib/MT/Util.pm line 554.


而且之后,就停止了。

尝试了多次,总是有这个问题。
最后google之后才明白只要在设置中turning off Trackback Autodiscovery,就不会出错,可以升级了。

下面把具体操作介绍一下:

Step 0:
Backup all db files.

Step 1:
Download MySQL Administrator program.
Install it.

Add new schema "mt"

Step 2:
Install DBD::MySQL

Step 3:
Edit mt.cfg

remove the # characters in front of: ObjectDriver DBI::mysql Database DBUser

Step 4:
Edit mt-db-pass.cgi
Enter the password of the user for mysql's DBUser

Step 5:
Run mt-db2sql.cgi

Step 6:
Edit mt.cfg
Put a # character in front of the line: DataSource .db

finish.


关于Berkeley DB和MySQL在Movable Type中的优劣之分,有许多文章:
MT database: Berkeley DB vs. MySQL

MySQL or Berkeley DB?

Just say NO to Berkeley DB for your MT database - PLEASE

关于如何升级的文章
Upgrading MovableType Berkeley to MySQL