MySQL是一個小巧玲瓏但功能強大的資料庫,目前十分流行。但是官網給出的安裝包有兩種格式,一個是msi格式,一個是zip格式的。很多人下了zip格式的解壓發現沒有setup.exe,面對一堆檔案一頭霧水,不知如何安裝。下面筆者將介紹如何解決此情況下安裝過程中的各種問題。
617 MySQL 5.6 for Windows 解壓縮版配置安裝
工具/原料
win7作業系統
MySQL5.7zip格式安裝包
方法/步驟
MySQL安裝檔案分為兩種,一種是msi格式的,一種是zip格式的。如果是msi格式的可以直接點選安裝,按照它給出的安裝提示進行安裝(相信大家的英文可以看懂英文提示),一般MySQL將會安裝在C:\Program Files\MySQL\MySQL Server 5.7 該目錄中;zip格式是自己解壓,解壓縮之後其實MySQL就可以使用了,但是要進行配置。
完成上述步驟之後,很多使用者開始使用MySQL,但會出現圖示的錯誤。這是因為沒有配置環境變數所致。配置環境變數很簡單:
我的電腦->屬性->高階->環境變數
選擇PATH,在其後面新增: 你的mysql bin資料夾的路徑 (如:C:\Program Files\MySQL\MySQL Server 5.7\bin )
PATH=.......;C:\Program Files\MySQL\MySQL Server 5.7\bin (注意是追加,不是覆蓋)
配置完環境變數之後先別忙著啟動mysql,我們還需要修改一下配置檔案(如果沒有配置,之後啟動的時候就會出現圖中的錯誤哦!:錯誤2 系統找不到檔案),mysql-5.7預設的配置檔案是在C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini,或者自己建立一個my.ini檔案,
在其中修改或新增配置(如圖):
[mysqld]
basedir=C:\Program Files\MySQL\MySQL Server 5.7(mysql所在目錄)
datadir=C:\Program Files\MySQL\MySQL Server 5.7\data (mysql所在目錄\data)
以管理員身份執行cmd(一定要用管理員身份執行,不然許可權不夠),
輸入:cd C:\Program Files\MySQL\MySQL Server 5.7\bin 進入mysql的bin資料夾(不管有沒有配置過環境變數,也要進入bin資料夾,否則之後啟動服務仍然會報錯誤2)
輸入mysqld --initialize!
輸入mysqld --initialize!
輸入mysqld --initialize!官方修改了安裝文件,所以以前的5.6安裝的程式碼出現了變化。
先初始化data目錄(如果不用管理員身份執行,將會因為許可權不夠而出現錯誤:Install/Remove of the Service Denied!)
安裝成功
安裝成功後就要啟動服務了,繼續在cmd中輸入:net start mysql,服務啟動成功!
此時很多人會出現錯誤,請看注意:
注意:這個時候經常會出現錯誤2和錯誤1067。
如果出現“錯誤2 系統找不到檔案”,檢查一下是否修改過配置檔案或者是否進入在bin目錄下操作,如果配置檔案修改正確並且進入了bin資料夾,需要先刪除mysql(輸入 mysqld -remove)再重新安裝(輸入 mysqld -install);
如果出現錯誤1067,那就是配置檔案修改錯誤,確認一下配置檔案是否正確。圖可以參考引用的5.6安裝配置
服務啟動成功之後,就可以登入了,如圖,輸入mysql -u root -p(第一次登入沒有密碼,直接按回車過),登入成功!如果能成功那麼就恭喜。
因為是5.7與5.6不同,所以很多時候都並不能第一次成功,而且會出現
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
所以新增一些我個人所使用的解決方法:
1.在mysql所在的根目錄下找到my-default.ini,複製裡面的全部內容,如下圖
新建一個txt文件,把內容複製進去,然後儲存名字改為my.ini,注意需要把檔案型別也改為ini,方法檢視檔案型別,然後把txt字尾改為ini,如果不懂可以上網查詢。
2.my.ini配置檔案,開啟配置檔案,找到[mysqld]一行,在下面新增skip-grant-tables後儲存該檔案,重新啟mysql動服務。
通過cmd進如到Mysql下的bin目錄下,輸入mysql -u root -p就可以不用密碼登入了,出現password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有許可權)。
進入mysql資料庫:
mysql> use mysql;Database changed
輸入update mysql.user set authentication_string=password('root') where user='root' ;
輸入update mysql.user set authentication_string=password('root') where user='root' ;其中password(’‘)中為你今後的密碼。
重複的原因是因為跟5.7以前的輸入方式不同。
原因是:新安裝的MySQL5.7,登入時提示密碼錯誤,安裝的時候並沒有更改密碼,後來通過免密碼登入的方式更改密碼,輸入update mysql.user set password=password('root') where user='root'時提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原來是mysql資料庫下已經沒有password這個欄位了,password欄位改成了authentication_string,所以如果按照用以前的update mysql.user set password=password('root') where user] ,就會報錯。
編輯my.ini檔案刪掉skip-grant-tables 這一行,然後重啟MySQL,否則MySQL仍能免密碼登入。
這樣5.7版本mysql就成功完成了。這個是參考了很多達人攻略然後按照我自己的實踐,整合而成的一份幫助各位的參考。