前言: 今天,想裝個高版本一點的mysql試試,於是下載了一個mysql8的zip版本。 地址:https://dev.mysql.com/downloads/file/?id=484900 沒想到安裝的過程,竟然卡了半個下午和半個晚上,才走通,坑啊,順便記錄下。 一、順利的安裝步驟: 1、將mys ...
前言:
今天,想裝個高版本一點的mysql試試,於是下載了一個mysql8的zip版本。
地址:https://dev.mysql.com/downloads/file/?id=484900
沒想到安裝的過程,竟然卡了半個下午和半個晚上,才走通,坑啊,順便記錄下。
一、順利的安裝步驟:
1、將mysql8xxxxx.zip解壓到指定目錄。
2、在其目錄下新建一個my.ini文件,輸入以下內容:
[client] port=3308 [mysql] default-character-set=utf8 [mysqld] port=3308 #Path to installation directory. All paths are usually resolved relative to this. basedir="E:/Mysql8/" #Path to the database root datadir="E:/Mysql8/data/"
關鍵點就兩個:一個是路徑,一個是埠號(因為本機原來裝了一個mysql5.x的低版本已經用了3306了)
做完一步,就是在cmd視窗敲命令的時候了,把命令定位到目錄的bin目錄下後:
cmd步驟:
1、輸入:mysqld --initialize --user=mysql --console
這一步初始化data資料庫目錄,如果有錯,就看Error的那行,有什麼信息就對應去百度。
關鍵點:執行這個時,要把data目錄下的東西都刪除(因為後面遇到問題多,所以這一步又幹了好幾次)
重點:在輸出的信息中,找到一個臨時密碼,不然,回頭你又得來執行這一步的
2、輸入: mysqld --install Mysql8 --defaults-file="E:\\mysql8\\my.ini"
安裝成服務,起了個新的服務名稱叫 Mysql8,原來已經有個mysql了。
提示,移除服務的命令是:mysqld -remove mysql8
3、輸入:mysql -p -u root
然後輸入那個臨時密碼登陸。(運氣不好的,在這裡反覆折騰好幾個小時,各種問題)
相容Navicat連接和修改密碼:
1、更改加密方式:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.10 sec)
2.更改密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.35 sec)
3.刷新:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.28 sec)
如果一切順利,估計就幾分鐘的事情了~~~~~
三:問題回憶殺:
1、看著網上的說明,可能網上的都是記錄mysql早期版本的,所以沒有關於密碼的提示。
導致到輸入密碼的時候,一臉蒙B,結果,就是各種操作各種坑,最後全部刪除重來一遍。
2、網上很坑的命令:(這條命令,網上分拆成三部分,坑死人執行的不是沒效果就是看不到錯誤信息)
mysqld --shared-memory--skip-grant-tables --console
這行命令執行時,會游標卡停,這時候可以開新視窗不用密碼登陸。
如果像我這種傻傻等游標,以為在扔在執行中,等半天發現沒反應,最後Ctrl+C結束的就悲催了。
3、登陸時,先把舊版本的mysql服務停了(如果安裝了多個版本),不然會提示Hand shake這種無解的提示(這個提示坑了我N久)
4、最重要的一個,命令都帶上:--console,這樣好看出錯信息,不然,就呵呵了。