MySQL手動安裝和中文的具體操作方案
以下的文章主要介紹的是MySQL手動安裝的實際操作方法和中文的具體解決方案,我們所演示的環(huán)境是在Debian Etch Linux上對MySQL(和PHP搭配之***組合) 5.0.27 icc版本進行安裝,并使用JDBC測試中文成功!
中文問題的關(guān)鍵是全部使用UTF-8編碼,MySQL(和PHP搭配之***組合) 5發(fā)布版支持UTF-8,但默認為latin1,Java在內(nèi)部使用的全部是Unicode,因此要保證jsp(SUN企業(yè)級應(yīng)用的***)頁面以UTF-8編碼,JDBC驅(qū)動采用官方Connector4J 5.0.4,在resin(一個免費的JSP運行平臺) 3.1/Spring 2.0/Hibernate 3.2環(huán)境下測試中文正常。
1. MySQL手動安裝方法與中文解決方案之一。下載"MySQL(和PHP搭配之***組合)-standard-5.0.27-linux-i686-icc-glibc23.tar.gz",推薦ICC版本,據(jù)稱比GCC性能提高10-20%
2. 復(fù)制到/usr/local/,解壓:tar zxvf MySQL(和PHP搭配之***組合)-standard-5.x....tar.gz
3. 添加用戶和組MySQL(和PHP搭配之***組合):
groupadd MySQL(和PHP搭配之***組合)
useradd -g MySQL(和PHP搭配之***組合) MySQL(和PHP搭配之***組合)
4. 創(chuàng)建符號連接:/usr/local ln -s MySQL(和PHP搭配之***組合)-standard-5.x... MySQL(和PHP搭配之***組合)
5. cd MySQL(和PHP搭配之***組合),當(dāng)前目錄改為/usr/local/MySQL(和PHP搭配之***組合)/
6. 運行腳步初始化數(shù)據(jù)庫:./scripts/MySQL(和PHP搭配之***組合)_install_db --user=MySQL(和PHP搭配之***組合)
7. 設(shè)置權(quán)限:
/usr/local/MySQL(和PHP搭配之***組合) chown -R root .
/usr/local/MySQL(和PHP搭配之***組合) chown -R MySQL(和PHP搭配之***組合) data
/usr/local/MySQL(和PHP搭配之***組合) chgrp -R MySQL(和PHP搭配之***組合)
8.MySQL手動安裝方法與中文解決方案: 根據(jù)需要創(chuàng)建并修改/etc/my.cnf,參考配置:
[MySQL(和PHP搭配之***組合)d]
設(shè)置默認為INNODB表,支持事務(wù):
- default-storage-engine=INNODB
設(shè)置默認的字符集UTF-8:
- character-set-server=utf8
- collation-server=utf8_general_ci
- default-character-set=utf8
禁用bdb:
skip-bdb
9. 啟動MySQL(和PHP搭配之***組合):
/usr/local/MySQL(和PHP搭配之***組合)/bin ./MySQL(和PHP搭配之***組合)d_safe --user=MySQL(和PHP搭配之***組合) &
10. 初始化root口令:
/usr/local/MySQL(和PHP搭配之***組合)/bin ./MySQL(和PHP搭配之***組合)admin -u root -p password "password-of-root"
Enter password: <輸入舊口令,直接按Enter>
11. 以root登錄創(chuàng)建數(shù)據(jù)庫:
/usr/local/MySQL(和PHP搭配之***組合) ./MySQL(和PHP搭配之***組合) -u root -p
Enter password: password-of-root
12. 創(chuàng)建一個新用戶:
- MySQL(和PHP搭配之***組合)> create user test identified by 'test-password';
13. 創(chuàng)建一個新數(shù)據(jù)庫:
- MySQL(和PHP搭配之***組合)> create database testdb default character set utf8 default collate utf8_general_ci;
百度i貼吧 新浪微博 務(wù)必指定字符集和排序方式,均為UTF-8,這樣才能保證創(chuàng)建的表也使用UTF-8。
14. 賦予test用戶從localhost訪問testdb的權(quán)限,并使用口令:
- MySQL(和PHP搭配之***組合)> grant all on testdb.* to test@localhost identified by 'test-password';
注意:要使用JDBC從遠程連接MySQL(和PHP搭配之***組合),就必須正確設(shè)置test用戶權(quán)限,MySQL(和PHP搭配之***組合)的訪問權(quán)限由用戶名,客戶端機器名和口令共同組成,上例表示僅允許test用戶在本機(localhost)通過口令連接MySQL(和PHP搭配之***組合)。
15. MySQL手動安裝方法與中文解決方案:停止MySQL(和PHP搭配之***組合)服務(wù)器:
- /usr/local/MySQL(和PHP搭配之***組合)/bin # ./MySQL(和PHP搭配之***組合)admin -u root -p shutdown
- Enter password: password-of-root
- STOPPING server from pid file /usr/local/MySQL(和PHP搭配之***組合)/data/debian.pid
- xxx MySQL(和PHP搭配之***組合)d ended
中文秘籍:
/etc/my.cnf中所有與編碼相關(guān)的設(shè)置均要設(shè)定為UTF-8,參考步驟8。
按以下步驟調(diào)試:
- MySQL(和PHP搭配之***組合)> status;
注意characterset相關(guān)值,必須保證全部為utf8,否則,修改/etc/my.cnf,參考步驟8。
- MySQL(和PHP搭配之***組合)> show variables like '%char%';
除了character_set_filesystem顯示為binary外,其余應(yīng)該全部顯示為utf8,若非utf8,修改/etc/my.cnf,參考步驟8。
- MySQL(和PHP搭配之***組合)> show variables like '%collation%';
顯示應(yīng)該全部為utf8_general_ci,否則,修改/etc/my.cnf,參考步驟8。
- MySQL(和PHP搭配之***組合)show -u root -p -i database-name
作用:顯示數(shù)據(jù)庫詳細信息,如果你沒有看到utf8_general_ci,而是latin_swedish_ci,說明數(shù)據(jù)庫編碼非UTF-8,中文肯定不正常,刪之,然后參考步驟13以UTF-8重新創(chuàng)建數(shù)據(jù)庫。
以上的相關(guān)內(nèi)容就是對MySQL手動安裝方法與中文解決方案的介紹,望你能有所收獲。
【編輯推薦】