mysql3升级到mysql5解决乱码心得

来源:岁月联盟 编辑:zhuzhu 时间:2009-04-21
我的原数据库是3.23版本的.前几天因为一个论坛转移.必须用5.1的.于是就是升级了数据库.论坛是正常的.可以是原来的一个老库因为是3.23下面的.gb2312的.不管怎么样导入到新库都是乱码.后来查找了各方面资料.借鉴了discuz的一个帖子.终于升级成功.现把心得总结出来。

环境:

1.老库是mysql 3.23,新库是mysql-5.1.33-win32.msi .数据库名是 cxinbao

2.我本机是xp sp2

首先在本地安装3.23数据库.把服务器上的数据库在data目录下直接打包到本地.复制到本地数据库所在data目录下.同版本的.或者.4.1以下的版本直接拷贝目录即可.4.1以下的要转移到4.1及以上版本.则不能直接拷贝.会涉及到字符集问题.只能和mysqldump先导出.再导入.

1.安装完3.23.然后cmd进入数据库所在bin目录.然后运行 导出数据库为sql文件

mysqldump -uroot -p --default-character-set=gbk cxinbao >cxinbao.sql

2.然后原库下的表删除掉.再运行.把刚才导出的sql导进库里.

mysql -uroot -p --default-character-set=latin1 -f cxinbao <cxinbao.sql

3.再把刚才导入的数据库.再导出为sql,

mysqldump -uroot -p --default-character-set=latin1 cxinbao >cxinbao.sql

4.在服务里把3.23的mysql服务器停止掉.然后安装mysql5.1数据库.,编码用utf-8,把mysql3.23数据库bin目录下的cxinbao.sql拷贝到mysql5.1数据库bin目录下.备用,然后用cmd转到mysql5所在的bin目录下.运行

mysql -uroot -p --default-character-set=gbk -f cxinbaonew<cxinbao.sql

这样cxinbaonew数据库就是你转移成功的数据库了.这个库要事先建好.