MySQL 资料库无痛快速转码及升级

Home Home
引用 | 编辑 笑笑
2008-06-11 16:58
楼主
推文 x0
最近因为打算把公司的资料库由 big5 转为 UTF-8,顺便把 MySQL 4.0.27 转为 5.1.25,试了三天,由 4.0.27 用 mysqldump 汇出,转为 UTF-8 后再汇入 5.1.25,中间有很多的错误,光抓那些错误就快昏了,后来在网上找到一篇用 Navicat 来升级的方法,竟然10分钟就把资料都转好了...表情

使用 MySQL 料库的好处不少,但是当你想要将资料库中的资料编码进行转换或想从 MySQL 4.0 升级到 4.1 甚至 5.0 时就会发现是一个非常头痛的事。

网路上许多方法是教人将资料汇出成 .sql 然后加以修改(或转码)再汇入新版的 MySQL 资料库中。事实上这些方法既复杂又成功率不高。不过如果你透过 Navicat 这套算是 MySQL 的克星工具来处理的话,再啰嗦的过程也可以快速搞定,还不用让你将资料汇出去又汇回来的。

至于简单到什么地步呢?你只需用到 Navicat 的 [ 工具 -> 资料传输] 这个功能就可以了。

例如本站这次改用新版的论坛程式,其间资料的转换相当容易,大致为:本站原本的论坛程式是采用 Big5 编码,新的论坛程式使用的是 UTF-8 的编码。

首先先建立一个目标资料库(与原论坛资料库相同的 MySQL 伺服器或是位于另外一部电脑的 MySQL 伺服器均可),这个资料库并不需要任何资料表,也就是空的资料库即可。将该资料库的编码设定为 UTF-8。接下来只需要将原来资料库中所需的资料表透过资料传输,传输到预先建立好的那个空的资料库即可。

传输的过程中,Navicat 已经自动帮你进行资编码的转换作业。传输完毕后,使用 UTF-8 编码的新资料库就产生了。就么简单到令你不可置信!

1. 在左边 [来源] 中选择目标连线及资料库,并在下方选择该资料库中所需要传输的资料表
2. 在右边 [目标] 中勾选 [直接传输到伺服器] 然后选择目标伺服器及资料库
3. 按下 [开始] 按钮后就一切搞定
4. 你也可以按下最上方的 [储存] 按钮将本次作业储存成一个方案。下次你只要选择这个方案便可直接进行传输而不必再去设定来源及目标等内容。

如果是想要升级 MySQL 资料库的内容呢?操作方式完全一样。

例如你要将现用的 MySQL 4.0 的资料库升级到 5.0。只需要架设好另外一个最新的 MySQL 5.0 伺服器,然后将旧的资料传输到这个新的伺服器中,弹指间你的资料库就升级完成!

转载自 http://www.localsoft.tw/forum/viewthread.php?tid=2819&highlight=

不过转完还有一些小问题,就是之前资料中有一些 &# 的字元,他不会自动转,所以可能要再写一支程式去转了..

献花 x0
引用 | 编辑 sophia660125
2008-06-12 11:05
1楼
  
感恩啦 表情

献花 x0