[原创][从mambo到joomla的迁移实战之二]mysql4.0升级到mysql5.0

摘要:
本文记录了从Mambo4.5 迁移到 Joomla! 1.0的过程,
主要介绍其中的数据库升级mysql4.0升级到mysql5.0
刚刚成功完成,一直进行到到凌晨4:00。

[原创][从mambo到joomla的迁移实战之二]mysql4.0升级到mysql5.0

标题:
[原创][从mambo到joomla的迁移实战之二]mysql4.0升级到mysql5.0
作者:陈海青(josonchen)
 (http://www.chq.name)
 (http://www.hhrz.org)
 (http://junit.vicp.net)
日期:2007.11.16

摘要:
本文记录了从Mambo4.5 迁移到 Joomla! 1.0的过程,
主要介绍其中的数据库升级mysql4.0升级到mysql5.0
刚刚成功完成,一直进行到到凌晨4:00。

关键字:
Joomla! 1.0, 迁移,升级, Joomla,mambo,Mambo4.5,数据库,mysql,mysql4.0升级到mysql5.0。

--------------

源环境:
 操作系统:unix - bsd
 数据库:MySQL - 4.0.27:
 数据库字符集:character set latin1
 CMS:mambo/mambor

目标环境:
 操作系统:windows
 数据库:MySQL - 4.0.27:
 数据库字符集: CHARACTER SET utf8
 CMS:joomla

数据库管理工具:SQLyog、SQL Manager for MySQL
----
操作步骤:

1、从4.0中导出表结构,注意只有结构,可以使用数据库工具
     mysqldump –no-data -uroot -p database > www.chq.name_struct.sql

2、从4.0中导出数据,只导出数据,不要结构。可以使用数据库工具
    mysqldump –no-create-info=true –extended-insert=false -u root -p database >  www.chq.name_data.sql

3、在mysql5上建库,注意字符集为utf8:
   CREATE DATABASE 'mambo' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

4、编辑www.chq.name_struct.sql文件,修改建表语句
-------------------------
windows:
1)将  
) TYPE=MyISAM;
替换为
) ENGINE=MyISAM DEFAULT CHARSET=gbk;

2)
将  
) TYPE=HEAP.*
替换为
) ENGINE=MEMORY DEFAULT CHARSET=gbk;

-----------------------
unix:
用vi编辑struct.sql, 使用:命令
:%s/) TYPE=MyISAM;/) ENGINE=MyISAM DEFAULT CHARSET=gbk;/g
:%s/) TYPE=HEAP.*$/) ENGINE=MEMORY DEFAULT CHARSET=gbk;/g

5、在mysql5.0中依次导入 www.chq.name_struct.sql, www.chq.name_data.sql
大功告成!


6、错误处理
-----------------------------
1)Error: 2006 (CR_SERVER_GONE_ERROR)
   Message: MySQL server has gone away

原因:查询语句太大
处理:
修改 my.cnf

将原语句:
[mysqld]
max_allowed_packet = 1M
[mysqldump]
max_allowed_packet=16M

替换为(或者其他的较大的值,依据你的硬件环境):
[mysqld]
max_allowed_packet = 100M
[mysqldump]
max_allowed_packet=160M
--------------------------
2)Error Code: 1064
   Message:- You have an error in your SQL syntax;
   check the manual that corresponds to your MySQL server version ......

Query:
/*Data for the table `jos_zoom_getid3_cache` */
insert  into `jos_zoom_getid3_cache`(`filename`,`filesize`,......

原因:出现大量非法字符

处理:因为这个表并不重要,所以干脆利索:
     truncate table
--------
关于mysql4.0、4.1、5.0的字符集

mysql 4.0及之前的版本,都是只支持一种字符集latin1,
从mysql 4.1起,支持众多的字符集,把多国语言字符集分的更加详细。
MySQL 4.1的字符集支持(Character Set Support)有两个方面:
字符集(Character set)和排序方式(Collation)。
对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。

查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE 'character_set_%';

--------
参考资料:
1:Problem importing mysql dump from ssh -Error 2006: MySQL server has gone away
   网址: http://www.vbulletin.com/forum/
2:mysql4.0升级到mysql5(4.1),解决字符集问题
   作者: 肖建彬 网址:http://www.xiaojb.com/archives/it/mysqludate.shtml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值