ITPub博客

首页 > 数据库 > 数据库开发技术 > 数据升级到5.1所遇到的问题

数据升级到5.1所遇到的问题

原创 数据库开发技术 作者:rainbowbridg 时间:2008-07-18 17:01:54 0 删除 编辑

这回数据库升级遇到了一下问题:

我们的数据库原来是mysql3.23.58想升级到5.1,因为这是大版本的升级,不能使用tar之类的来移植,所以只能用mysqldump来做,但出现了下面的问题

一. 字符集问题

由于3.23还不能设置表的字符集,但是升级到5.1要设为utf8,我用mysqldump导出数据后倒入,发现数据为乱码,找了很多资料发现要什么icov来转换什么的,后来发现需要设置几个参数就可以,参数如下:

mysql服务器启动时需要设置utf8的环境

my.inf

[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci

然后倒入数据,发现数据显示正确

二. 作为客户端连接mysql数据库时,将字符集设置成utf8
建立连接后,先执行以下语句:

SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;

每次数据库重连,以上语句需要重设
修改 includes/database.php 文件:
查找
CODE:[Copy to clipboard]$this->_table_prefix = $table_prefix;
在该行代码下面添加以下三行代码:
CODE:[Copy to clipboard]mysql_query("SET NAMES 'utf8'", $this->_resource);

CODE:[Copy to clipboard]mysql_query("SET CHARACTER SET utf8", $this->_resource);

CODE:[Copy to clipboard]mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'", $this->_resource);

http://www.hackhome.com/InfoView/Article_151991_2.html

二. 安装的问题

由于我安装的时候希望数据文件和软件分离到不同的路径,所以在configure时加了datadir和localstatedir,但是由于这2个参数不一致,发现后面bin/mysql_install_db --user=mysql 会去找localstatedir指定的目录,但是2个路径不一致,发现始终都有问题,后将2个参数的路径改为一样就可以了

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7916042/viewspace-1007487/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: expdp的问题
请登录后发表评论 登录
全部评论
  • 博文量
    237
  • 访问量
    1622811