3. 在根目錄下面有以"my-"開頭的ini文件,隨意復制一個放在根目錄,如:my-default.ini,將文件名修改為my.ini,添加以下內容:
[mysqld]
#設置字符集為utf8
default-character-set = utf8
basedir = D:/Program Files/mysql-advanced-5.6.14-win32
datadir = D:/Program Files/mysql-advanced-5.6.14-win32/data
[client]
#設置客戶端字符集
loose-default-character-set = utf8
[WinMySQLadmin]
Server = D:/Program Files/mysql-advanced-5.6.14-win32/bin/mysqld.exe
4. 打開命令提示符,進入D:/Program Files/mysql-advanced-5.6.14-win32/bin目錄,執行命令:mysqld -install將mysql安裝到windows的服務。執行成功後會提示:Service successfully installed.
如果想要卸載服務執行命令:mysqld -remove。
5. 然後在命令提示符下執行:net start mysql就能啟動mysql了,停止服務輸入命令:net stop mysql。如果想設置mysql是否自動啟動,可以在開始菜單->運行中輸入service.msc打開服務管理進行設置。
6. 第一次登錄的時候輸入:
C:\Users\Administrator>mysql -u root
修改密碼:
mysql> update mysql.user set password=PASSWORD('root') where User='root'
mysql> flush privileges
7. 若啟動mysql的時候報錯:系統出錯 發生系統錯誤 1067 進程意外終止
打開D:/Program Files/mysql-advanced-5.6.14-win32/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-即:
[mysqld] #設置字符集為utf8
loose-default-character-set = utf8
basedir = D:/Program Files/mysql-advanced-5.6.14-win32
datadir = D:/Program Files/mysql-advanced-5.6.14-win32/data
[client]
#設置客戶端字符集
loose-default-character-set = utf8
[WinMySQLadmin]
Server = D:/Program Files/mysql-advanced-5.6.14-win32/bin/mysqld.exe
8. 雖然使用上面的方式加入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。修改my.ini配置文件如下:
[mysqld]
#設置字符集為utf8
loose-default-character-set = utf8
character-set-server = utf8
basedir = D:/Program Files/mysql-advanced-5.6.14-win32
datadir = D:/Program Files/mysql-advanced-5.6.14-win32/data
[client]
#設置客戶端字符集
loose-default-character-set = utf8
[WinMySQLadmin]
Server = D:/Program Files/mysql-advanced-5.6.14-win32/bin/mysqld.exe
重啟服務進入mysql再次查看:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------++--------------------------+---------------------------------------+
OK