将后台数据从Berkeley的文件DB转到MySQL

致命罂粟花520

致命罂粟花520

2016-02-19 14:43

今天图老师小编要向大家分享个将后台数据从Berkeley的文件DB转到MySQL教程,过程简单易学,相信聪明的你一定能轻松get!

最近决定把MT的后台数据从Berkeley的文件DB转到MySQL。原因之一是使用关系数据库可以获得更多的灵活性,比如运行一条sql来变更 所有entry的某一个属性;另外一个原因是为了提前熟悉一下这个数据库,牙牙网站使用虚拟主机,DreamHost提供的数据库是MySQL,而我从前 主要使用了SQL Server,Oracle和DB2,Postgresql也只了解了一点,而MySQL则几乎没有接触过。

下载了5.0.27安装文件,安装顺利,使用了第一个默认端口3306,UTF-8的数据库字符集。

安装完成,运行了命令行客户端,输入help,给出的帮助命令不多,也没见到有关数据库创建的命令,便查了安装的帮助文件,组织的还算不错,很齐全,很快找到相关的命令:

查看已有数据库show databases;连接数据库 testuse test;创建数据库 mtcreate database mt;接下来寻找把已有DB转化到MySQL的方法,很快找到一个第三方的工具mt-db-convert.cgi ,可以实现MT支持的几种不同的DB之间的转换。

下载回来放到cgi-bin的mt目录,在浏览器访问运行,输入新创建的MySQL数据库名称mt,用户名root,密码,主机填入localhost,开始Convert。转换过程很快就完成了,不到1分钟,没有出现错误提示,转换信息如下:

mt-db-convert.cgi($Rev: 173 $): Converting your MT data between DB engines (for MT 3.2) Loading database schema... Loading data... MT::Author . (1 objects saved.) MT::Blog .. (2 objects saved.) MT::Trackback .......... ..........

(327 objects saved.) MT::Category .......... ..........

(50 objects saved.) MT::Comment .. (2 objects saved.) MT::Entry .......... .......... ..........

(514 objects saved.) MT::IPBanList (0 objects saved.) MT::Log .......... .......... .......... .......... .......

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

(437 objects saved.) MT::Notification (0 objects saved.) MT::Permission ....

(4 objects saved.) MT::Placement .......... .......... .......... ..........


(527 objects saved.) MT::Template .......... .......... .......... ........

(83 objects saved.) MT::TemplateMap .......... (10 objects saved.) MT::TBPing (0 objects saved.) MT::Session .......... .......... .........

(29 objects saved.) MT::PluginData (0 objects saved.) MT::Config . (1 objects saved.) MT::FileInfo (0 objects saved.) Done copying data from DBM to DBI::mysql! All went well. Your recommended setting -------------------------------------

# DataSource R:/SITE/mt-db ObjectDriver DBI::mysql Database mt DBUser root DBHost localhost DBPassword comein ------------------------------------

然后修改mt-config.cgi文件,把数据源改成MySQL。

再次访问MT,看起来一切正常,甚至原有的session都没有丢掉,只是后台使用的数据已经改变了位置。

不过发现了中文乱码问题,Google到了这个方法 ,按文修改后,需要再次执行mt-db-convert.cgi,把数据重新导入MySQL,再访问MT,乱码没有了,所有中文显示正常。

转换后又发现了一个新的问题,原DB中的Tags全部丢失,原因是mt-db-convert.cgi仅支持到MT 3.1,3.3的新功能带来的数据变化可能还会有其它信息丢失。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

NOTE

This script is compatible with Movable Type version 3.1x. I didn''t test it at any other versions.

其实MT自身已经提供了转换工具mt-db2sql.cgi,与mt.cgi在同一目录当中。使用方法是,安装好MySQL数据库服务,并创建好用于MT的DB,将MySQL数据库的配置信息加入mt-config.cgi,并同时保留原Berkeley DB的路径配置,即保持两种DB的配置同时生效,然后通过浏览器运行mt-db2sql.cgi,转换会自动开始,显示如下信息:

Loading database schema...Loading data...MT::Author 1MT::Blog 1 3MT::Trackback ...Done copying data from Berkeley DB to your SQL database! All went well.确认转换成功后,再修改mt-config.cgi,注释掉Berkeley DB的配置即可。

展开更多 50%)
分享

猜你喜欢

将后台数据从Berkeley的文件DB转到MySQL

编程语言 网络编程
将后台数据从Berkeley的文件DB转到MySQL

加密后台数据库的方法

编程语言 网络编程
加密后台数据库的方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

加密后台数据库地办法

编程语言 网络编程
加密后台数据库地办法

如何将数据从文本导入到mysql

PHP
如何将数据从文本导入到mysql

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

将数据从MySQL迁到Oracle的几点注意事项

编程语言 网络编程
将数据从MySQL迁到Oracle的几点注意事项

将OICQ数据转成MYSQL数据

PHP
将OICQ数据转成MYSQL数据

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Mac修改系统语言的方法

Mac修改系统语言的方法

JQuery 绑定事件时传递参数的实现方法

JQuery 绑定事件时传递参数的实现方法
下拉加载更多内容 ↓