用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 &
文章末尾固定信息

