mysql3.23 导入 mysql5.1 乱码问题

bluezsh 2009-08-09 11:18:54
大家好,我最近要对mysql数据库升级,以前3.23升级为5.1 ,但是升级时出现了很大问题,在网上找了找解决方案,也没有测试通过,还请大家来这里讨论一下。
测试环境xp sp2
1.首先从mysql3.23数据库里使用命令方式导出:Mysqldump –uroot –p123456 –opt erp >d:\20090807.sql
2.安装mysql5.1数据库,安装完成后查看字符集:

mysql> show variables like 'character_set%';
+--------------------------+---------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\erp\mysql\share\charsets\ |
+--------------------------+---------------------------------+
3.使用导入命令:mysql -uroot -p123456 -f erp <d:\20090807.sql
这里可以导入,但是导入后,发现里面都是乱码,
依据网站解决方案,最多的一个就是:
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 <cxinbao.sql

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

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

4:再倒入mysql5.1 (安装时选择安装为utf8)
mysql -uroot -p --default-character-set=gbk -f cxinbaonew<cxinbao.sql
但是这种做法并没有解决问题,之前安装过为utf8,但是不起作用,后来就缺省安装了。

请大家帮帮忙啊,我头都快大了。。。。。
...全文
120 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinsonshen 2009-08-11
  • 打赏
  • 举报
回复
,数据库文件总共500M,记事本和EditPlus打不开哦。。。

----------------------------------------------
你那有那样的环境
自己建立一个类似的小库
进行模式测试迁移,估计应该能找容易找到办法
bluezsh 2009-08-11
  • 打赏
  • 举报
回复
哪位朋友做过帮个忙啊,怎么没有人回答了啊?
vinsonshen 2009-08-10
  • 打赏
  • 举报
回复
很早的版本升级哦
没用过那么早的版本,
只能关注帮up了
bluezsh 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yueliangdao0608 的回复:]
上个礼拜刚帮人从3.23升级到5.1.36
[/Quote]

这位兄台能否帮个忙啊?
或者和我联系一下啊,,,
bluezsh 2009-08-10
  • 打赏
  • 举报
回复
呵呵,数据库文件总共500M,记事本和EditPlus打不开哦。。。
whalefish2001 2009-08-10
  • 打赏
  • 举报
回复
首先要保证三方(数据库<3.23 & 5.X.X> 和文件)编码一致,以utf-8为例来说明:
从 mysql3.23 导出来的数据是否正常?
如果数据正常的话,查看一下 .sql 文件的编码格式,是不是UTF-8,如果不是,用EditPlus等工具,转存为Utf-8 码的。
然后建立 MySQL5.X,缺省编码 utf-8 (我一般选择 utf8_general_ci )
现在导入,试试看,是否成功了?
懒得去死 2009-08-10
  • 打赏
  • 举报
回复
上个礼拜刚帮人从3.23升级到5.1.36
懒得去死 2009-08-10
  • 打赏
  • 举报
回复
不乱码才怪,你把编码转化交给了数据库。
记住: 编码的转化要靠程序来处理!
nianzhang747 2009-08-09
  • 打赏
  • 举报
回复
SF
--default-character-set=latin1
都改成utf8看看
ACMAIN_CHM 2009-08-09
  • 打赏
  • 举报
回复
打开你的 cxinbao.sql 检查一下其中的create table 语句 和 create database 语句,看一下字符集的设置是什么。 改为utf8 试一下。
bluezsh 2009-08-09
  • 打赏
  • 举报
回复
1楼的,这个办法我已经测试过了,还是不行。
急啊,急啊。。。
code_killer 2009-08-09
  • 打赏
  • 举报
回复
这个升级跨度够大的。
只要保证5.1数据库的编码跟3.23下的编码一致,应该可以的,比如都是“gbk”。

实在不行就先从3.23升级到4.x, 再从4.x升级的5.1

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧