WEB开发网
开发学院数据库MySQL Mysql 数据库字符集转换及版本升/降级教程 阅读

Mysql 数据库字符集转换及版本升/降级教程

 2007-05-29 10:58:43 来源:WEB开发网   
核心提示: CODE:CREATE TABLE `cdb_sessions` (`sid` char(6) binary NOT NULL default '',`ip1` tinyint(3) unsigned NOT NULL default '0',`ip2` t

CODE:

CREATE TABLE `cdb_sessions` (
 `sid` char(6) binary NOT NULL default '',
 `ip1` tinyint(3) unsigned NOT NULL default '0',
 `ip2` tinyint(3) unsigned NOT NULL default '0',
 `ip3` tinyint(3) unsigned NOT NULL default '0',
 `ip4` tinyint(3) unsigned NOT NULL default '0',
 `uid` mediumint(8) unsigned NOT NULL default '0',
 `username` char(15) NOT NULL default '',
 `groupid` smallint(6) unsigned NOT NULL default '0',
 `styleid` smallint(6) unsigned NOT NULL default '0',
 `invisible` tinyint(1) NOT NULL default '0',
 `action` tinyint(1) unsigned NOT NULL default '0',
 `lastactivity` int(10) unsigned NOT NULL default '0',
 `fid` smallint(6) unsigned NOT NULL default '0',
 `tid` mediumint(8) unsigned NOT NULL default '0',
 `nickname` char(15) NOT NULL default '',
 UNIQUE KEY `sid` (`sid`)
) TYPE=HEAP MAX_ROWS=2000;

这一步更为简单的办法就是删除掉关于cdb_sessions表的这一段,将来全新装一个d4,将这个表导出

将其内容复制,粘贴到 sql文件的最后面

保存后,再把这个sql文件导入到你的库中

就OK了

用这两种方法就可以很方便的把4.1和5.0的mysql数据库降级到4.0

简单的过程就是

A导出4.1/5.0的库

B进行处理,转换成gbk字符集

C彻底卸载4.1或者5.0

D安装4.0.26

E然后导入处理完的库

降级的时候导出库可以用这个方法

mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse --compatible=mysql40 > d4.sql

这样导出的就是4.0的库勒

至于mysql版本的升级,

如果数据文件中有中文信息,那么将MySQL 4.0的数据文件,直接拷贝到MySQL 4.1中就是不可以的,即便在my.ini中设置了default-character-set为正确的字符集。虽然貌似没有问题,但MySQL 4.1的字符集有一处非常恼人的地方,以gbk为例,原本MySQL 4.0数据中varchar,char等长度都会变为原来的一半,这样存储中文容量不变,而英文的存储容量就少了一半。这是直接拷贝数据文件带来的最大问题。

所以,升级的根本,如果想使用“正确”的字符集,还是先用mysqldump导出成文件,然后导入。

这里顺便提一个我的好友深海写的

用于MySQL4.1的论坛数据库字符集整理工具。

刚写的,处理部分代码可能写得有点龌龊,但是不影响使用,

主要用于处理整理MySQL4.1指定数据库、表、字段的字符集。

适用于将非允许的字符集范围内的数据结构(无数据!!)整理为适合Discuz!允许的字符集范围。

上一页  1 2 3 4 5 

Tags:Mysql 数据库 字符集

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接