Windows 7安裝mysql-5.6.15-winx64解壓版
轉載原文:http://www.tandunzhao.cn/js/149.html
一、首先到官網下載mysql-5.6.15-winx64.zip,然後將mysql解壓到任意路徑,如:D:\mysql-5.6.15-winx64
二、開啟計算機->屬性->高階系統設定->環境變數,新建一個環境變數,變數名為:MYSQL_HOME,變數值為你的mysql根目錄,如:D:\mysql-5.6.15-winx64;然後在系統變數Path中新增:;%MYSQL_HOME%\bin
三、.在D:\mysql-5.6.15-win64下,複製“my-default.ini”檔案,生成“復件 my-default.ini”檔案。
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:/mysql-5.6.15-winx64
datadir = D:/mysql-5.6.15-winx64/data
port = 3306
#自定義主機ID識別符,用於主從或多伺服器之間識別,為 一個 int 型別
server_id = 1
loose-default-character-set = utf8
character_set_server = utf8
# 最大連線數量
max_connections = 100
#CREATE TABLE 語句的預設表型別,如果不自己指定型別,則使用下行的型別
default-storage-engine = InnoDB
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
#設定客戶端字符集
loose-default-character-set = utf8
四、安裝mysql為windows服務。
d:\mysql-5.6.16-win64\bin\mysqld.exe -install mysql
如果出現 Service successfully removed 表示安裝成功
如果想要解除安裝服務執行命令:mysqld -remove。
一定要指定全路徑,否則,可能找不到檔案。
然後啟動mysql服務 (net start mysql)
然後在命令提示符下執行:net start mysql就能啟動mysql了,停止服務輸入命令:net stop mysql。如果想設定mysql是否自動啟動,可以在開始選單->執行中輸入service.msc
不過我在安裝過程中還是出了點小問題,啟動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-即:
- [mysqld]
- #設定字符集為utf8
- loose-default-character-set = utf8
- [client]
- #設定客戶端字符集
- loose-default-character-set = utf8
啟動果然不再報錯了。。。那份求助資訊的原文地址:
http://forums.mysql.com/read.php?103,189835,237318
後記:
雖然使用上面的方式加入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\ |
+--------------------------+---------------------------------------+
問題完美解決
第一次登入的時候輸入:
C:\Users\Administrator>mysql -u root
修改密碼:
mysql> update mysql.user set password=PASSWORD('root') where User='root'
mysql> flush privileges
進入資料庫
mysql> use mysql
use mysql;
select host,user,password from user;
update user set password = PASSWORD('root') where user = 'root';
最後不要忘記
flush privileges;
更新OK。
exit退出。然後重新登入即可。