在mambo里使用mysql4.1目前好像一直是一个禁区,迫于主页空间的限制,
我历经一天一夜的探索,完成了数据库升级,现将操作过程写下来,供朋友们参考。
我历经一天一夜的探索,完成了数据库升级,现将操作过程写下来,供朋友们参考。
mambo_4.5.3的mysql数据库由4.0升级4.1操作过程
(图文版 以及 下载,在作者主页的"网站建设"栏目里)
作者:joson(陈海青)
主页: http://junit.vicp.net
http://www.chq.name
日期:2006.02.12
修改日期:2006.02.13--情人节前夕
前言:
在mambo里使用mysql4.1目前好像一直是一个禁区,迫于主页空间的限制,我历经一天一夜的探索,完成了数据库升级,现将操作过程写下来,供朋友们参考。
在mambo里使用mysql4.1目前好像一直是一个禁区,迫于主页空间的限制,我历经一天一夜的探索,完成了数据库升级,现将操作过程写下来,供朋友们参考。
工作目标:
将mambo(4.5.3)由mysql 4.0 --> mysql 4.1
将mambo(4.5.3)由mysql 4.0 --> mysql 4.1
困难:
因为字符集不同( 原为gbk --〉新服务器为utf8 ),显示乱码。
因为字符集不同( 原为gbk --〉新服务器为utf8 ),显示乱码。
计划:
1:在本地建立模拟环境,使用wamp5_145RC集成环境
2:将数据导入新环境
3:调整mambo
1:在本地建立模拟环境,使用wamp5_145RC集成环境
2:将数据导入新环境
3:调整mambo
操作步骤:
0:原服务器上(mysql4.0)数据库的字符集为gbk,如下图所示:
1:在新服务器上(mysql4.1)上建立数据库mambo,使用phpmyadmin,字符集为utf_general_ci。
或者在建完后,要调整其字符集为utf_general_ci,如下图()所示。
SQL query:
CREATE DATABASE `mambo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `mambo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
检查结果,应如下图所示:
2:使用phpmyadmin在原来的mysql4.0导出数据库mambo脚本,(需要修改,注释掉以下红色处,避免错误提示:
Specified key was too long; max key length is 1000 bytes: )
CREATE TABLE `jos_core_acl_aro` (
`aro_id` int(11) NOT NULL auto_increment,
`section_value` varchar(240) NOT NULL default '0',
`value` varchar(240) NOT NULL default '',
。。。
PRIMARY KEY (`aro_id`),
-- --UNIQUE KEY `section_value_value_aro` (`section_value`,`value`),
-- --UNIQUE KEY `jos_gacl_section_value_value_aro` (`section_value`,`value`),
。。。
`aro_id` int(11) NOT NULL auto_increment,
`section_value` varchar(240) NOT NULL default '0',
`value` varchar(240) NOT NULL default '',
。。。
PRIMARY KEY (`aro_id`),
-- --UNIQUE KEY `section_value_value_aro` (`section_value`,`value`),
-- --UNIQUE KEY `jos_gacl_section_value_value_aro` (`section_value`,`value`),
。。。
3:在目标数据库上运行上述脚本,然后建立用户mambo,授权访问数据库mambo
这时,已经能用phpmyadmin看到数据库中的汉字了,注意完成后的表的字符集如下图所示:
4:根据实际情况修改网站上的配置文件configuration.php,主要修改以下内容:
$mosConfig_user = 'root';
$mosConfig_password = 'root';
$mosConfig_db = 'mambo';
$mosConfig_absolute_path = 'D:/wamp/htdocs/mambo';
$mosConfig_live_site = 'http://127.0.0.1/mambo/';
$mosConfig_cachepath = 'D:/wamp/htdocs/mambo/cache';
另外要特别注意以下一些配置项,会对网站的正常显示产生影响:
$mosConfig_lang = 'simplified_chinese';
$mosConfig_alang = 'simplified_chinese';
$mosConfig_live_site = 'http://localhost/mambo';
$mosConfig_locale = 'zh_CN';
$mosConfig_lang = 'simplified_chinese';
$mosConfig_alang = 'simplified_chinese';
$mosConfig_live_site = 'http://localhost/mambo';
$mosConfig_locale = 'zh_CN';
--小插曲:由于没有设置用户mambo可访问的主机(使用默认值),导致无法访问数据库,后改为localhost,ok
5:解决使用mysql4.1后前台显示乱码问题,更改includesdatabase.php文件,内容如下:
$this->_cursor = mysql_query( "SET character set gbk" );
$this->_cursor = mysql_query( $this->_sql, $this->_resource );
$this->_cursor = mysql_query( $this->_sql, $this->_resource );
6:大功告成!...看看网站吧!
------------------
以上解决方案参照网上诸多资料,以及bbs.mambochina.net上blae的文章