聲明:此解壓版為100多M的mysql-5.5.xx-win32.zip檔案,而非幾十M的,mysql-5.5.xx.zip檔案,特此聲明...^V^
我以mysql-5.5.10-win32.zip為例子,解壓路徑為C:\mysql-5.5.10-win32.
OK,進入正題...
官網下載mysql-5.5.10-win32.zip,然後將mysql解壓到任意路徑,如:C:\mysql-5.5.10-win32
開啟電腦->屬性->進階系統設定->環境變數,建立一個環境變數,變數名為:MYSQL_HOME,變數值為你的mysql根目錄,如:C:\mysql-5.5.10-win32
然後在系統變數Path中添加:;%MYSQL_HOME%\bin
在根目錄下面有幾個已經寫好的"my-"開頭的ini檔案,選一個適合你的,如:my-small.ini。複製一份,將檔案名稱修改為my.ini,添加以下內容:
[mysqld]
#設定字元集為utf8
default-character-set = utf8
basedir = C:/mysql-5.5.10-win32
datadir = C:/mysql-5.5.10-win32/data
[client]
#設定用戶端字元集
default-character-set = utf8
[WinMySQLadmin]
Server = C:/mysql-5.5.10-win32/bin/mysqld.exe
開啟命令提示字元,進入%MYSQL_HOME%/bin目錄,執行命令:mysqld -install將mysql安裝到windows的服務。執行成功後會提示:C:\mysql-5.5.10-win32\bin>Service successfully installed.
如果想要卸載服務執行命令:mysqld -remove。
然後在命令提示字元下執行:net start mysql就能啟動mysql了,停止服務輸入命令:net stop mysql。如果想設定mysql是否自動啟動,可以在開始菜單->運行中輸入service.msc開啟服務管理進行設定。
第一次登入的時候輸入:
C:\Users\Administrator>mysql -u root
修改密碼:
mysql> update mysql.user set password=PASSWORD('root') where User='root';
mysql> flush privileges;
不過我在安裝過程中還是出了點小問題,啟動mysql的時候報錯:
系統出錯。
發生系統錯誤 1067。
進程意外終止。
開啟%MYSQL_HOME%/data目錄下的使用者名稱.err檔案,mysql的錯誤記錄檔就記錄在這個檔案中。在裡面發現這樣一句話:
110327 0:12:02 [ERROR] MySQL: unknown variable 'default-character-set=utf8'
感覺很奇怪,以前一直都這樣安裝的。最後在mysql的官網上找到一篇中國DBA的求助資訊,原來這是新版本的一個bug,不支援在my.ini中直接設定字元集為utf8。解決辦法是:在default-character-set=utf8前面加上loose-即:
Properties代碼
[mysqld]
#設定字元集為utf8
loose-default-character-set = utf8
[client]
#設定用戶端字元集
loose-default-character-set = utf8
後記:
雖然使用上面的方式加入loose-以後,mysql啟動不再報錯了。但是在插入資料時依然出現了亂碼問題,給我造成了不小的麻煩。
mysql> show variables like '%char%';
通過以上命令查看字元集編碼,得到如下結果:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql-5.5.10-win32\share\charsets\ |
+--------------------------+---------------------------------------+
可以看出character_set_database ,character_set_server 的編碼還是預設的latin1。
在[mysqld]配置選項下添加character-set-server = utf8,重啟服務進入mysql再次查看:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql-5.5.10-win32\share\charsets\ |
+--------------------------+---------------------------------------+
問題完美解決