今天,想裝個高版本一點的mysql試試,因而下載了一個mysql8的zip版本。mysql
地址:https://dev.mysql.com/downloads/file/?id=484900sql
沒想到安裝的過程,居然卡了半個下午和半個晚上,才走通,坑啊,順便記錄下。數據庫
一、將mysql8xxxxx.zip解壓到指定目錄。this
二、在其目錄下新建一個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了)spa
作完一步,就是在cmd窗口敲命令的時候了,把命令定位到目錄的bin目錄下後:code
一、輸入:mysqld --initialize --user=mysql --consoleblog
這一步初始化data數據庫目錄,若是有錯,就看Error的那行,有什麼信息就對應去百度。ip
關鍵點:執行這個時,要把data目錄下的東西都刪除(由於後面遇到問題多,因此這一步又幹了好幾回)rem
重點:在輸出的信息中,找到一個臨時密碼,否則,回頭你又得來執行這一步的
二、輸入: mysqld --install Mysql8 --defaults-file="E:\\mysql8\\my.ini"
安裝成服務,起了個新的服務名稱叫 Mysql8,原來已經有個mysql了。
提示,移除服務的命令是:mysqld -remove mysql8
三、輸入:mysql -p -u root
而後輸入那個臨時密碼登錄。(運氣很差的,在這裏反覆折騰好幾個小時,各類問題)
一、更改加密方式:
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)
將mysql數據庫user表裏的root用戶的host改爲%
update user set host='%' where user='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密碼' WITH GRANT OPTION;
FLUSH PRIVILEGES;
若是一切順利,估計就幾分鐘的事情了~~~~~
一、看着網上的說明,可能網上的都是記錄mysql早期版本的,因此沒有關於密碼的提示。
致使到輸入密碼的時候,一臉蒙B,結果,就是各類操做各類坑,最後所有刪除重來一遍。
二、網上很坑的命令:(這條命令,網上分拆成三部分,坑死人執行的不是沒效果就是看不到錯誤信息)
mysqld --shared-memory--skip-grant-tables --console
這行命令執行時,會光標卡停,這時候能夠開新窗口不用密碼登錄。
若是像我這種傻傻等光標,覺得在扔在執行中,等半天發現沒反應,最後Ctrl+C結束的就悲催了。
三、登錄時,先把舊版本的mysql服務停了(若是安裝了多個版本),否則會提示Hand shake這種無解的提示(這個提示坑了我N久)
四、最重要的一個,命令都帶上:--console,這樣好看出錯信息,否則,就呵呵了。