轉(zhuǎn):http://blog.csdn.net/liuyifeng1920/article/details/53761280
本來電腦上有一個5.1版本的數(shù)據(jù)庫, 項目開發(fā)的時候有個特殊的需求, 要用到mysql5.7新特性的 JSON類型字段存儲東西. 于是開發(fā)階段, 需要再在本機上搞一個5.7版本的.
廢話不多說:
1 第一個數(shù)據(jù)庫5.1正常安裝.
2 下載mysql 5.7.19 壓縮版,官網(wǎng) http://dev.mysql.com/downloads/mysql/
3 解壓路徑后發(fā)現(xiàn)沒有my.ini配置文件
4 所以這邊我們需要手動配置my.ini 文件
這里需要注意的問題, 端口改為3307, 兩個dir路徑也要跟第一個mysql5.1 路徑區(qū)分開. 并且修改my.ini 文件的時候用記事本修改不要用像EditPlus的文本編輯器,因為有可能添加了很多UTF-8的簽名, 你是看不到的,但是啟動的時候會報各種奇葩問題,[后人勿入坑啊], 所以最好不要用荒给。然后這邊在mysql的目錄下面創(chuàng)建一個空data的文件夾(如果里面有東西請全部刪除)
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
#設(shè)置3306端口
port = 3307
# 設(shè)置mysql的安裝目錄
basedir=D:\MySQL\mysql-5.7.19-winx64
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄
datadir=D:\MySQL\mysql-5.7.19-winx64\data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine=INNODB
5 管理員權(quán)限運行cmd命令工具, 不管理員運行,容易報錯:
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
6 通過cmd命令 cd 進(jìn)入到你的5.7mysql的解壓縮路徑的bin目錄里, 我的地址是:
d:
cd MySQL\mysql-5.7.19-winx64\bin
7 mysqld --initialize-insecure --user=mysql --console
(文檔表明产雹,使用-initialize生成隨機密碼帘营,由于自己學(xué)習(xí),使用-initialize-insecure生成空密碼。默認(rèn)帳號root,后面的--user=mysql不更改)
mysqld --install MySQL5.7.19
"D:\MySQL\mysql-5.7.19-winx64\bin\mysqld" --defaults-file="D:\MySQL\mysql-5.7.19-winx64\my.ini" mysql5.7.19*
9 然后返回cmd在bin下面直接啟動mysql
net start mysql5.7.19;
啟動完后, 需要登錄 mysql -uroot -p -P3307 密碼是空的(具體前面已經(jīng)提到)
登錄完成后
use mysql;
show databases;
然后設(shè)置密碼
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
step 3: flush privileges;
查看最大允許傳輸包的大小
show VARIABLES like '%max_allowed_packet%';
注意:該值設(shè)置過小將導(dǎo)致單個記錄超過限制后寫入數(shù)據(jù)庫失敗酵幕,且后續(xù)記錄寫入也將失敗。
查看連接時長
show variables like '%timeout';
緊接著查看mysql的編碼(因為在my.ini設(shè)置了所有除了filesystem都為utf-8)
show variables like 'character_set_%';
最后呢登錄上mysql的客戶端連接