从MySQL4.0向MySQL5迁移数据

作者:秦歌 来源:随网之舞 时间:2007-11-19 13:11:00 

用phpMyAdmin时在导入和导出MySQL5数据时,有一个SQL compatibility mode选项,其可选值为NONE、ANSIDB2、MAXDB、MYSQL323、MYSQL40、MSSQL、ORACLE、TRADITIONAL。这是MySQL解决导入导出数据时不同数据库类型或者版本SQL语句不同的问题。MYSQL40选项明显是为了解决和MYSQL4.0数据迁移问题,但是用phpMyAdmin管理MySQL4.0(版本是4.0.25)时,则没有SQL compatibility mode这个选项,应该是不支持吧。

MySQL的默认编码是latin1,而从MySQL4.0中导出数据的SQL语句并没有编码声明(《利用phpMyAdmin把wordpress数据从MySQL4迁移到MySQL5》),所以如果从MySQL4.0中导出数据的编码不是latin1,比如是utf8,那么直接导入到MySQL5中编码会是默认的latin1而出现中文乱码。所以操作步骤如下:

1.用phpMyAdmin从MySQL4.0中导出所需的数据表,并勾选上“zip压缩”或“gzip压缩”,这样导出的数据量小。

2.用phpMyAdmin在MySQL5中创建一个新的数据库,注意需要声明编码为实际编码,比如utf8。如果不声明编码,那么导致导入的数据编码全部是latin1,而出现中文乱码,无法简单修正。

3.在import页面把从MySQL4.0中导出的数据导入,注意选择字符集和SQL compatibility mode模式为MYSQL40,这样整个数据就导入成功了。


由于MySQL默认编码的原因,直接导入整个数据库则无法设置其编码,从而导致中文乱码,所以第1步要求导出的是数据库中的表而不是整个数据库,要想导入整个数据那么需要修改MySQL的默认编码,修改安装目录的下的my.ini文件(Unix下是my.cnf)中对Client和Server的编码声明,然后重启服务即可:

default-character-set=utf8


标签:MySQL,数据,编码
0
投稿

猜你喜欢

  • 实例演示在SQL中启用全文检索

    2011-10-01 14:01:37
  • 一次MySQL性能优化实战

    2009-03-09 15:01:00
  • css清除浮动“clear:both;”的应用

    2008-03-17 12:54:00
  • 去掉运行JavaScript时IE产生的警告栏

    2008-09-11 18:07:00
  • 为JavaScript程序添加客户端不可见的注释

    2008-05-31 08:02:00
  • Oracle 触发器的使用小结

    2009-05-24 19:54:00
  • 教你轻松掌握如何正确的修复Access数据库

    2008-11-28 16:21:00
  • Date对象格式化方法

    2009-11-16 13:17:00
  • 轻松处理Dreamweaver段落缩进

    2007-11-17 07:53:00
  • 发个js从样式表取值的函数

    2008-05-20 12:23:00
  • [精品]ASP中常用的22个FSO文件操作函数

    2007-08-18 15:12:00
  • CSS Hacks

    2008-07-20 13:04:00
  • XML简易教程之一

    2008-09-05 17:19:00
  • asp如何在网上查找链接?

    2010-06-22 21:10:00
  • Javascript实现的鼠标经过时播放声音

    2010-05-18 20:03:00
  • focus 进 textarea 元素后光标位置的修复

    2008-09-27 13:27:00
  • Mootools常用方法扩展(四)

    2009-02-21 11:12:00
  • 脆弱的用户体验

    2010-01-28 12:34:00
  • adodb.stream对象的方法/属性

    2008-06-07 08:14:00
  • 利用CSS改善网站可访问性

    2010-10-20 20:12:00
  • asp之家 网络编程 m.aspxhome.com