MySQL不支持gbk的解决方法

技术8,984阅读模式

用packages安装的mysql5.1,不支持GBK编码,只支持UTF8编码。具体表现:
在打开一个用GBK编码的数据库时,提示

ERROR 1273 (HY000): Unknown collation 'gbk_chinese_ci' in table 'data_plus' definition

set names gbk; 和 SET character_set_client = gbk;提示:
ERROR 1115 (42000): Unknown character set: 'gbk'

最后没办法,只好用ports重新编译。
cd /usr/ports/databases/mysql51-server
make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_COLLATION=gbk_chinese_ci BUILD_STATIC=yes install clean
(其实,在make install clean 时,就有个参数提示,把前三个设置好就可以了。)

查看支持的编码:

SHOW VARIABLES LIKE 'character_set_%';

SHOW VARIABLES LIKE 'collation_%';

此方式适用于MYSQL 4.1X 以及更高版本
#groupadd mysql
#useradd -g mysql mysql
#gunzip < mysql-VERSION.tar.gz | tar -xvf -
#cd mysql-VERSION
#./configure --prefix=/usr/local/mysql \ 指定安装目录
--without-debug \去除debug模式
--with-extra-charsets=gbk \添加中文字符支持
--with-extra-charsets=all \添加其他字符支持
--enable-assembler \使用一些字符函数的汇编版本
--without-isam \去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表
--without-innodb \去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用
--with-pthread \强制使用pthread库(posix线程库)
--enable-thread-safe-client \以线程方式编译客户端
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \以纯静态方式编译服务端和客户端 --with-raid \激活raid支持

#make
#make install
#scripts/mysql_install_db
#chown -R root /usr/local/mysql
#chown -R mysql /usr/local/mysql/var
#chgrp -R mysql /usr/local/mysql
#cp support-files/my-medium.cnf /etc/my.cnf     (overwrite?-->yes)
#/usr/local/mysql/bin/mysqld_safe --user=mysql &

文章末尾固定信息

weinxin
sailinginc
微信号已复制
添加博主微信,获取更多支持
轻触二维码,可复制博主微信号。微信扫一扫加博主微信,同时请备注说明来意。
 
秋昱
  • 本文由 秋昱 发表于2010年9月28日
  • 转载请务必保留本文链接:https://blog.wintao.com/69/