• 注册
  • 查看作者
  • MySQL不支持gbk的解决方法

    用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 &

  • 0
  • 0
  • 0
  • 339
  • 请登录之后再进行评论

    登录

    最新内容

  • 做任务
  • 实时动态
  • 偏好设置
  • 单栏布局 侧栏位置: