linux下源碼安裝mysql 5.5 繫列字符集bug

2015-07-27 15:57:00
hainuo
原創 2506
摘要:phpstudy的mysql 編譯安裝有問題
什麽問題呢》 先上代碼```function install_mysql(){    echo "install mysql 5.5" >>  phpstudy-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 GBKzh_CN.GB2312 GB23122.sudo dpkg-reconfigure --force locales然後在輸齣的結果中會齣現zh_CN.GB2312 donezh_CN.GBK done然後可以通過先推齣phpmyadmin 再重新登録方式查看是否有字符集瞭 最後效果也如這箇![1437985952128656.png](/ueditor/php/upload/image/20150727/1437985952128656.png "1437985952128656.png")其實最後還是説明 這不是phpstudy的問題應該是mysql 5.5繫列的問題
發錶評論
貳 加 叄 =
評論通過審核後顯示。