网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > MySQL教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.mysql中的替换语句.
.MySQL 5.0 新特性教程 存储过程:.
.MySQL数据库函数详解(3).
.MySQL中如何实现Top N及M至N段的.
.Mysql分页查询通用存储过程.
.使用MySQL内建复制功能来最佳化可.
.ACCESS数据库向MySQL快速迁移小程.
.数据库管理员必须了解的MySQL企业.
.MySQL 5.0系列新的社区稳定版5.0.
.无法远程登入MySQL的几种解决办法.
.初学者必读 MySQL 数据库常见问题.
.使用MySql ODBC进行MYsql和MS sq.
.MySQL性能调整之my.cnf文件的配置.
.mysql4,mysql4.1,mysql 5共存.
.mysql使用指南(上).
.MySQL数据库的漏洞相当于其它数据.
.MySQL进阶_SELECT篇(三).
.为新安装的RHEL AS设定MySQL初始.
.通过Mysql的语句生成后门木马的方.
.用MySQL实现SQL Server的sp_exec.

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

发表日期:2008-7-15


最近决定把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 .......... .......... .......... .......... .......

(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的新功能带来的数据变化可能还会有其它信息丢失。

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的配置即可。

上一篇:系统默认的MySQL用户名消失的解决方法 人气:1503
下一篇:实例讲解启动mysql server失败的解决方法 人气:1123
浏览全部MySQL的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐