<del id="7msxa"><table id="7msxa"><strong id="7msxa"></strong></table></del><legend id="7msxa"></legend>

<tbody id="7msxa"></tbody>
  • <ol id="7msxa"></ol><th id="7msxa"><track id="7msxa"><rt id="7msxa"></rt></track></th>
    1. <dd id="7msxa"></dd>
    2. 首頁 > 數據庫 > MySQL > 正文

      MySQL手動安裝方法與中文解決方案

      2019-09-08 23:26:29
      字體:
      來源:轉載
      供稿:網友

      Debian Etch Linux上成功安裝了MySQL 5.0.27 icc版本,并使用JDBC測試中文成功!

      中文問題的關鍵是全部使用UTF-8編碼,MySQL 5發布版支持UTF-8,但默認為latin1,Java在內部使用的全部是Unicode,因此要保證JSP頁面以UTF-8編碼,JDBC驅動采用官方Connector4J 5.0.4,在Resin 3.1/Spring 2.0/Hibernate 3.2環境下測試中文正常。

      1. 下載"mysql-standard-5.0.27-linux-i686-icc-glibc23.tar.gz",推薦ICC版本,據稱比GCC性能提高10-20%

      2. 復制到/usr/local/,解壓:tar zxvf mysql-standard-5.x....tar.gz

      3. 添加用戶和組mysql:

      groupadd mysql

      useradd -g mysql mysql

      4. 創建符號連接:/usr/local # ln -s mysql-standard-5.x... mysql

      5. cd mysql,當前目錄改為/usr/local/mysql/

      6. 運行腳步初始化數據庫:./scripts/mysql_install_db --user=mysql

      7. 設置權限:

        /usr/local/mysql # chown -R root .

        /usr/local/mysql # chown -R mysql data

        /usr/local/mysql # chgrp -R mysql

      8. 根據需要創建并修改/etc/my.cnf,參考配置:

      [mysqld]

      # 設置默認為INNODB表,支持事務:

      default-storage-engine=INNODB

      # 設置默認的字符集UTF-8:

        character-set-server=utf8
              collation-server=utf8_general_ci
              default-character-set=utf8

      # 禁用bdb:

      skip-bdb

      9. 啟動MySQL:

      /usr/local/mysql/bin # ./mysqld_safe --user=mysql &

      10. 初始化root口令:

      /usr/local/mysql/bin # ./mysqladmin -u root -p password "password-of-root"

      Enter password: <輸入舊口令,直接按Enter>

      11. 以root登錄創建數據庫:

        /usr/local/mysql # ./mysql -u root -p

        Enter password: password-of-root

      12. 創建一個新用戶:

        mysql> create user test identified by 'test-password';

      13. 創建一個新數據庫:

        mysql> create database testdb default character set utf8 default collate utf8_general_ci;

      務必指定字符集和排序方式,均為UTF-8,這樣才能保證創建的表也使用UTF-8。

      14. 賦予test用戶從localhost訪問testdb的權限,并使用口令:

        mysql> grant all

      on testdb.* to test@localhost identified by 'test-password';

      注意:要使用JDBC從遠程連接MySQL,就必須正確設置test用戶權限,MySQL的訪問權限由用戶名,客戶端機器名和口令共同組成,上例表示僅允許test用戶在本機(localhost)通過口令連接MySQL。

      15. 停止MySQL服務器:

        /usr/local/mysql/bin # ./mysqladmin -u root -p shutdown

        Enter password: password-of-root

        STOPPING server from pid file /usr/local/mysql/data/debian.pid

        xxx mysqld ended

      中文秘籍:

      /etc/my.cnf中所有與編碼相關的設置均要設定為UTF-8,參考步驟8。

      按以下步驟調試:

      mysql> status;

      注意characterset相關值,必須保證全部為utf8,否則,修改/etc/my.cnf,參考步驟8。

      mysql> show variables like '%char%';

      除了character_set_filesystem顯示為binary外,其余應該全部顯示為utf8,若非utf8,修改/etc/my.cnf,參考步驟8。

      mysql> show variables like '%collation%';

      顯示應該全部為utf8_general_ci,否則,修改/etc/my.cnf,參考步驟8。

      mysqlshow -u root -p -i database-name

      作用:顯示數據庫詳細信息,如果你沒有看到utf8_general_ci,而是latin_swedish_ci,說明數據庫編碼非UTF-8,中文肯定不正常,刪之,然后參考步驟13以UTF-8重新創建數據庫。

      解決方案 MYSQL

      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      japan日本人妻熟老太
      <del id="7msxa"><table id="7msxa"><strong id="7msxa"></strong></table></del><legend id="7msxa"></legend>

      <tbody id="7msxa"></tbody>
    3. <ol id="7msxa"></ol><th id="7msxa"><track id="7msxa"><rt id="7msxa"></rt></track></th>
      1. <dd id="7msxa"></dd>