数据库的升级是数据库发展的标志,代表着数据库的功能性更为强大,在技术方面更为先进,并不是随意就可以实现数据库升级,通常情况下数据库升级会产生乱码,本文就将为大家讲解解决乱码问题的方法。本文就以mysql3升级到mysql5为例来分析乱码问题。
我的原数据库是3.23版本的.前几天因为一个论坛转移.必须用5.1的.于是就是升级了数据库.论坛是正常的.可以是原来的一个老库因为是3.23下面的.gb2312的.不管怎么样导入到新库都是乱码.后来查找了各方面资料.借鉴了discuz的一个帖子.终于升级成功.现把心得总结出来。
环境:
1.老库是mysql 3.23,新库是mysql-5.1.33-win32.msi .数据库名是 www.cxinbao.com
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 www.cxinbao.com >cxinbao.sql
2.然后原库下的表删除掉.再运行.把刚才导出的sql导进库里.
mysql -uroot -p --default-character-set=latin1 -f www.cxinbao.com
3.再把刚才导入的数据库.再导出为sql,
mysqldump -uroot -p --default-character-set=latin1 www.cxinbao.com >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
这样cxinbaonew数据库就是你转移成功的数据库了.这个库要事先建好.
这就是我为大家总结的处理乱码问题,希望对大家能够有所帮助。