1. 程式人生 > >MySQL8.0.13(.zip)安裝(重在my.ini檔案配置)[2019親測]詳解 無法啟動問題

MySQL8.0.13(.zip)安裝(重在my.ini檔案配置)[2019親測]詳解 無法啟動問題

MySQL8.0.13(.zip)安裝以及服務無法啟動(重在my.ini檔案配置)和初始密碼
2019.1.12.13:47分
週五下午閒著無聊,想倒騰一下怎麼把資料庫裝到別的盤,因為在C盤太不順眼了,個人習慣!
接下來幾下就輕鬆解除安裝了,(原來的版本是MySQL5.7.24) 重灌就想著弄個新版本把!!!!
過程中就出現了一堆問題,剛開始是修改各種檔案都不得騎姐,隨後又是遇到解除安裝不完全的問題,導致安裝不成功!最後又遇到“服務無法啟動,服務沒有報告任何錯誤”死活弄不好,在網上看了很多方法 大坑小坑就不一一說了。

方法如下
從MySQL官網上下載程式包(免安裝):https://dev.mysql.com/downloads/mysql/

(選擇mysql-8.0.13-winx64.zip),然後把程式包解壓到所要安裝的目錄下
在環境變數的Path中加入MySQL根目錄中的bin目錄的路徑( 這是我的路徑————D:\mysql資料庫\mysql-8.0.13-winx64\bin),你們的你們自己應該知道自己安裝到哪裡了??咋們先把環境變數給配置好,以後都要用的呢;
測試是否成功:Win+r,出入cmd,回車,在命令列中輸入mysql -V (注意是大寫的V),這表示檢視MySQL的版本號,能查到就表示環境變數配置成功了

然後就是配置my.ini檔案
配置好my.ini檔案放到mysql的根目錄下,my.ini內容(供參考)如下:
記住路徑改成你們自己的!!
[Client]
port = 3306
[mysqld]
port = 3306
server_id =10
basedir= D:\mysql資料庫\mysql-8.0.13-winx64\bin
datadir= D:\mysql資料庫\mysql-8.0.13-winx64\bin/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


#忘記密碼時使用下面的命令
#skip-grant-tables
#設定協議認證方式
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8

注意(一定要去安裝目錄執行,我吃過虧!!)
命令列(管理員方式啟動CMD)輸入 cd D:\Program_Files\mysql-8.0.13-winx64\bin
表示定位到檔案執行的目錄下
輸入 mysqld --initialize --user=mysql --console

我的執行結果是這個
D:\mysql資料庫\mysql-8.0.13-winx64\bin>mysqld --initialize --user=mysql --console
2019-01-12T04:40:08.993757Z 0 [Warning] [MY-010915] [Server] ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and
‘ERROR_FOR_DIVISION_B
Y_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2019-01-12T04:40:08.993757Z 0 [System] [MY-013169] [Server] D:\mysql資料庫\mysql-8.0.13-winx64\bin
\mysqld.exe (mysqld 8.
0.13) initializing of server in progress as process 4804
2019-01-12T04:40:08.993757Z 0 [Warning] [MY-013242] [Server] --character-set-server: ‘utf8’ is currently an alias for th
e character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order tobe unambiguous.
2019-01-12T04:40:28.871388Z 5 [Note] [MY-010454] [Server] ~~A temporary password is generated for

~~
[email protected]: ###¥%#……[email protected]:後面這一部分就是你的密碼了)
2019-01-12T04:40:44.482432Z 0 [System] [MY-013170] [Server] D:\mysql資料庫\mysql-8.0.13-winx64\bin
\mysqld.exe (mysqld 8.0.13) initializing of server has completed

以上表示初始化mysql服務(有看到其他同志們用的是mysqld --initialize --insecure或者mysqld --initialize,我試著不行,後面初始化ok了之後沒找到初始密碼,就很尷尬),能在命令列中顯示臨時的初始密碼,後面進入mysql會用到,所以這個要儲存好;
執行結果中的這一句就包含了臨時密碼“A temporary password is generated for [email protected]: fugihc¥?:”在我這裡臨時初始密碼是fugihc¥?這個東西
輸入 mysqld --install
表示安裝mysql服務,成功則會提示“Serve successfully installed.”;
若是你不小心目錄弄錯了,要裝到其他目錄去,你會發現你再裝的時候就有一個問題,提示“ervice already exist!”,這個時候就納悶了,但還是有辦法的。輸入 mysqld -remove MySQL 就能解決了
輸入 net start mysql
表示啟動mysql服務,同樣也可以通過在系統的服務(圖形介面操作,Win+r,輸入service.msc,找到MySQL)中開啟;
此操作執行成功後就會提示“服務MySQL已經啟動成功”;
若不成功可能會提示“服務無法啟動,服務沒有報告任何錯誤”並且按照它的提示去做也發現不了問題,因為還是會提示“服務報告沒有任何錯誤”,所以說我搞到這就差點崩潰了,這是什麼操作嘛(黑人臉問號)
經過上述步驟,若都能成功的話,那你離成功就只差一步了,就差進入mysql驗證是否配置成功了呀
輸入mysql -uroot -p,回車後輸入密碼(這個密碼哪裡來的呢,我們沒設定密碼啊,按照以前5.5,5.7的版本,我們預設的就是5.7,那你想著肯定就是這些了啊,結果密碼輸了幾次發現不是root,根不是什麼mysql,那你又得崩潰了,看看第4點,之前的步驟其實是有鋪墊的了),OK能進去了,我感動流涕啊耗了一個下午還有晚上的時間
最後修改密碼 ALTER USER [email protected] IDENTIFIED BY ‘123456’;
把密碼修改為123456,當然這個語句是要在進入了mysql之後執行的,注意看命令列的首部的識別符號,是mysql>;
然後就可以了,退出之後重新測試一下新密碼,大功告成
總結
①其實這個不復雜的,嘗試的時候有自己的思路就OK了,試多幾次然後對比總結,學到的東西會多很多呢;
②我覺得問題主要有兩個,第一是這些命令的執行順序,要按著順序來,你不懂沒關係吧,每種順序試一下,況且網上又有資料,你知道他們的大概用處,猜一下正常順序不難的,因為核心的命令就只有兩條:install和initialize;
③第二個是my.ini的配置內容,千萬不要搞錯了,直接複製過來,然後再用英語常識判斷一下別人的程式碼有沒有拼寫錯誤;
my.ini檔案中必要的配置:
default-character-set=utf8

MySQL的根目錄

basedir=D:\mysql5.1
datadir=D:\mysql5.1\data
port=3306
④然後關於登錄檔這些東西,網上有些大神有教,但我建議大家別亂來,畢竟人家是知道自己的問題所在然後又懂登錄檔各種的,他們一些列的操作都知道自己在幹什麼,你胡來隨便刪個登錄檔,搞對了是挺好的,萬一錯了呢,然後又忘了備份,那個時候就慘咯
下面的是我的一個配置過程,希望你也能感受到圖片末尾看見Welcome to MySQL monitor.的喜悅

配置過程_成功例
參考:
https://blog.csdn.net/zijian_/article/details/81004761
https://blog.csdn.net/liyangyang0528/article/details/54233632
http://niutuku.com/tech/Mysql/237849.shtml

此文借鑑了hungry_fish的博文 不足之處請多多指教