linux下源码安装mysql 5.5 系列字符集bug

2015-07-27 15:57:00
hainuo
原创 2319
摘要:phpstudy的mysql 编译安装有问题
什么问题呢》 先上代码 ``` function install_mysql(){     echo "install mysql 5.5" >> php study-install.log     down_file mysql-5.5.36.tar.gz     killall mysqld     groupadd mysql     useradd -s /sbin/nologin -M -g mysql mysql     chown mysql:mysql -R /phpstudy/data     chown mysql:mysql -R /phpstudy/mysql     chmod -R 755 /phpstudy/data     tar -zxvf mysql-5.5.36.tar.gz     cd mysql-5.5.36     cmake . -DCMAKE_INSTALL_PREFIX=/phpstudy/mysql -DMYSQL_UNIX_ADDR=/phpstudy/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/phpstudy/data/ -DMYSQL_USER=mysql     make     make install     cp -f support-files/my-medium.cnf /etc/my.cnf     chmod 755 /phpstudy/mysql/scripts/mysql_install_db     /phpstudy/mysql/scripts/mysql_install_db --user=mysql --basedir=/phpstudy/mysql --datadir=/phpstudy/data     rm -rf /etc/mysql/my.cnf     /phpstudy/mysql/support-files/mysql.server start     sleep 5s     /phpstudy/mysql/bin/mysqladmin -uroot password "root"     cd ..         re=`ps -ef|grep mysqld|grep -v "grep " |wc -l` if [ $re -gt 0 ]     then     echo "MySQL">/phpstudy/mysql/do_not_delete     fi } ``` 这种方式安装完后字符集如这样显示 ![1437985735125424.png](/ueditor/php/upload/image/20150727/1437985735125424.png "1437985735125424.png") 其实关键点在这句话上 ``` cmake . -DCMAKE_INSTALL_PREFIX=/phpstudy/mysql -DMYSQL_UNIX_ADDR=/phpstudy/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/phpstudy/data/ -DMYSQL_USER=mysql ``` 在cmake进行编译是,出现这样的设置错误, ``` -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk ``` 这个并不能够安装上gbk支持  应该使用的方式是 ``` -DEXTRA_CHARSETS=all ``` 替换后就会安装所有的语言字符集支持,这样就保证了使用。 先要对系统的支持语言进行设置 我百度搜索后根据这个页面做了系统locales的更改 [http://www.linuxidc.com/Linux/2009-06/20626.htm](http://www.linuxidc.com/Linux/2009-06/20626.htm) Ubuntu默认安装的中文环境为zh_CN.utf8,然后很多windows的文档还是以GB2312或GBK编码保存的,因此十分有必要 在Ubuntu下生成GBK或GB2312的locale.具体方法如下: 1.修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 2.sudo dpkg-reconfigure --force locales 然后在输出的结果中会出现 zh_CN.GB2312 done zh_CN.GBK done 然后可以通过先推出phpmyadmin 再重新登录方式查看是否有字符集了 最后效果也如这个![1437985952128656.png](/ueditor/php/upload/image/20150727/1437985952128656.png "1437985952128656.png") 其实最后还是说明 这不是phpstudy的问题应该是mysql 5.5系列的问题
发表评论
陆 加 柒 =
评论通过审核后显示。