大家好,我最近要对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.sql2.然后原库下的表删除掉.再运行.把刚才导出的sql导进库里.mysql -uroot -p --default-character-set=latin1 -f www.cxinbao.com <cxinbao.sql3.再把刚才导入的数据库.再导出为sql,mysqldump -uroot -p --default-character-set=latin1 www.cxinbao.com >cxinbao.sql4:再倒入mysql5.1 (安装时选择安装为utf8)
mysql -uroot -p --default-character-set=gbk -f cxinbaonew<cxinbao.sql
但是这种做法并没有解决问题,之前安装过为utf8,但是不起作用,后来就缺省安装了。请大家帮帮忙啊,我头都快大了。。

解决方案 »

  1.   

    SF 
     --default-character-set=latin1 
    都改成utf8看看
      

  2.   

    这个升级跨度够大的。
    只要保证5.1数据库的编码跟3.23下的编码一致,应该可以的,比如都是“gbk”。实在不行就先从3.23升级到4.x, 再从4.x升级的5.1
      

  3.   

    打开你的 cxinbao.sql 检查一下其中的create table 语句 和 create database 语句,看一下字符集的设置是什么。 改为utf8 试一下。
      

  4.   

    首先要保证三方(数据库<3.23 & 5.X.X> 和文件)编码一致,以utf-8为例来说明:
    从 mysql3.23 导出来的数据是否正常?
    如果数据正常的话,查看一下 .sql 文件的编码格式,是不是UTF-8,如果不是,用EditPlus等工具,转存为Utf-8 码的。
    然后建立 MySQL5.X,缺省编码 utf-8  (我一般选择 utf8_general_ci )
    现在导入,试试看,是否成功了?
      

  5.   

    呵呵,数据库文件总共500M,记事本和EditPlus打不开哦
      

  6.   

    ,数据库文件总共500M,记事本和EditPlus打不开哦----------------------------------------------
    你那有那样的环境
    自己建立一个类似的小库
    进行模式测试迁移,估计应该能找容易找到办法