Windows安裝MySQL8.0時的報錯匯總及解決方案
一、引言
先說一些沒用的話,據(jù)說安裝MySQL是無數(shù)數(shù)據(jù)庫初學(xué)者的噩夢,我在安裝的時候也是查了很多資料,看了很多博客,但是很多畢竟每個人的電腦有各自不同的情況,大家的報錯也不盡相同,所以也是很長時間之后才安裝成功。
一些軟件的安裝和環(huán)境配置有以下特點:對環(huán)境要求很高,同時對筆者這樣的初學(xué)者很不友好,往往一點小的疏忽就會全盤皆失,網(wǎng)上的教程又不能保證能起到效果,極容易倒在邁出第一步上。而且安裝不成功的話卸載會更加麻煩:卸載軟件、刪除相關(guān)文件夾、刪除環(huán)境變量、刪注冊表等等 。最后要么重裝系統(tǒng)要么永遠(yuǎn)也別想使用這個軟件了,極其痛苦,
所以我希望總結(jié)一些學(xué)計算機(jī)的需要注意的東西,關(guān)于正確使用電腦的好習(xí)慣,能讓你的電腦保持干凈?。S時更新補(bǔ)充)
1、首先要有一個良好的文件組織模式,軟件、工程、文檔什么的分類放好。不要下載個什么東西在電腦中亂放,最后想找個什么文件找不到不說,這種方式最大的弊端就是出了問題的時候沒法解決。
2、用戶名、主機(jī)名、文件路徑、變量路徑等都不要出現(xiàn)中文(最好是連空格也不要有啦~),真的有無數(shù)計算機(jī)小白在這上面吃過虧了!能用英文的最好用英文,順便還能鍛煉下英語水平,更有希望過四級(doge)。
安裝配置的時候一定要慎重,一個小錯誤就可能造成難以挽回的后果!
二、安裝MySQL時的報錯匯總(點擊旁邊的log選項卡可以查看日志)
錯誤1:initializing database(may take a long time)
數(shù)據(jù)庫初始化產(chǎn)生錯誤
日志如下:
Log日志: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.32) initializing of server in progress as process 4212 mysqld: File '.\嬋犮垹鐏堥弲婊勬櫠閻樼粯鎲ユ俊顖涘綰捐棄銆?bin.index' not found (OS errno 2 - No such file or directory) The designated data directory C:\ProgramData\MySQL\MySQL Server 8.0\Data\ is unusable. You can remove all files that the server added to it. Aborting C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.32) MySQL Community Server - GPL. Process for mysqld, with ID 4212, was run successfully and exited with code 1. Failed to start process for MySQL Server 8.0.32. Database initialization failed. Ended configuration step: Initializing database (may take a long time)
注:出現(xiàn)了中文亂碼,極有可能是可能是電腦名包含中文,導(dǎo)致Installer在生成初始化配置時出現(xiàn)亂碼而錯誤。所以檢查電腦名是否包含中文和空格。
錯誤2:未將對象引用設(shè)置到對象的實例
Ended configuration step: Writing configuration file
錯誤3:最后一步失?。篣pdating the Start menu link
錯誤4:對路徑的訪問被拒絕
錯誤5:啟動服務(wù)器時卡住
三、解決方案
首先,如果你在安裝過程中遇到了紅叉叉,那么先不要怕,將錯就錯,能點next的就點next,能點execute的就點execute,因為你既然出現(xiàn)紅叉叉了,那么說明這次安裝就已經(jīng)寄了,那么你將要面臨著重新安裝的情況,隨便上網(wǎng)查個教程,都是什么卸載程序再刪除一堆文件夾還要挨個刪除注冊表刪除環(huán)境變量,非常麻煩,所以可以利用MySQL的installer的remove功能。將錯就錯配置完環(huán)境的時候應(yīng)該如下圖所示
所以只需要直接點擊旁邊的remove就可以一鍵刪除環(huán)境變量、軟件、注冊表這些東西,不比純手刪強(qiáng)多了?最主要的是這種方法刪的干凈,手刪不僅麻煩還容易留下隱患,所以這種方法強(qiáng)烈推薦。
之后查看報錯日志可以發(fā)現(xiàn)主要是數(shù)據(jù)庫初始化出現(xiàn)了問題,既然可視化安裝是沒有辦法了,所以選擇使用命令行安裝是一個很好的選擇。
- 點開Log,里面提示的就是標(biāo)題寫的,無法識別的參數(shù)“mysqlx_port=0.0”,大寫的疑惑啊,官方的安裝程序都不能跑?
- 這個時候不管如何改,都沒用了,用官方的安裝程序就到這,接下來是手動操作模式
- 第一步:找到my.ini文件,如果前面的安裝程序都是默認(rèn)選擇的話,那my.ini的位置應(yīng)該是
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
,找到my.ini文件后,搜索一下報錯的參數(shù)mysqlx_port=0.0,其實就在最后一行,注釋掉(這時候可能以為重新用官方安裝程序能夠繼續(xù)下去,其實不能,每次它都會重新生成my.ini,然后mysqlx_port=0.0又出現(xiàn)了!)因為此處的文件需要更高的權(quán)限才可以修改,所以這時候需要打開my.ini文件,到最后一行,將0.0改為0,注釋掉,先另存到別的地方,然后再復(fù)制到原本的my.ini文件的位置,系統(tǒng)會提示替換這個同名文件夾,直接點擊繼續(xù)(需要管理員權(quán)限)即可更改。 - 第二步:如果前面的安裝程序都是默認(rèn)選擇的話,那mysql的data文件應(yīng)該在
C:\ProgramData\MySQL\MySQL Server 5.7\Data(注意:此處的ProgramData是C盤中的一個隱藏文件夾,需要在文件夾上方導(dǎo)航欄【查看】->【顯示】->勾選【隱藏的項目】就可以找到了)
,打開這個目錄,把里面的文件刪光 - 第三步:找到mysqld.exe文件,可以用上一步推薦的everything,如果前面的安裝程序都是默認(rèn)選擇的話,位置應(yīng)該在
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe
,找到這個文件后,在這個目錄下打開cmd,最方便的方式是直接地址欄輸入cmd,回車 - 打開cmd窗口后,構(gòu)建這樣一個命令:
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console --initialize-insecure
,然后回車
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure // 根據(jù)你安裝的實際版本將上面的8.0更改為你的版本號
- (可選)有可能遇到這樣的一個錯誤,是編碼問題,打開上面找到的my.ini,另存為,選編碼格式為ANSI,覆蓋掉之前的那份my.ini,然后重新運行
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure
- 上面那一步?jīng)]有報錯的運行到最后,代表離成功不遠(yuǎn)了,接下來構(gòu)建這樣一個命令
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console
,意思是在cmd里直接運行MySQL
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console // 這里的版本號也要更改
然后在C:\Program Files\MySQL\MySQL Server 5.7\bin\
這個目錄下再新打開一個cmd窗口,輸入命令mysql -u root
,直接進(jìn)入MySQL了,是的,不用密碼
mysql -u root
接下來,給root用戶加個密碼,在MySQL內(nèi)部,輸入命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
(分號必須要!??!這里的123456就是新密碼,可隨意),回車
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
刷新權(quán)限命令:FLUSH PRIVILEGES;
(分號必須要?。。?,回車
FLUSH PRIVILEGES;
退出MySQL命令:EXIT;
,回城
EXIT;
接下來驗證一下密碼生效了沒,上一步退出來的cmd里輸入:mysql -u root -p
,再輸入密碼123456,ok,如愿進(jìn)入MySQL了,這時候其實MySQL已經(jīng)可以在電腦里運行了,但是是cmd運行的方式,每次都要手動輸入,太麻煩了,做成系統(tǒng)服務(wù),開機(jī)自動啟動
mysql -u root -p
先把上面手動運行的MySQL關(guān)掉,然后打開任務(wù)管理器,如果任務(wù)管理器之前打開了,就關(guān)了重新打開,切到服務(wù)頁,找MySQL字眼的服務(wù),右鍵,開始,如果能夠正常啟動,就表示服務(wù)版的MySQL裝好了,以后開機(jī)自動啟動。
目前觀察到win11家庭版的系統(tǒng),不能用上面的方式啟動MySQL服務(wù),還找不到原因,貼一個bat命令,可以手動點擊開啟MySQL,新建一個txt文件,把后綴改成bat,然后把下面的代碼復(fù)制進(jìn)去,保存退出,嘗試雙擊打開,如果cmd窗口不會自動關(guān)閉,保持運行,說明MySQL運行起來了
到這一步,恭喜你已經(jīng)成功安裝了MySQL!
以上就是Windows安裝MySQL8.0時的報錯匯總及解決方案的詳細(xì)內(nèi)容,更多關(guān)于Windows安裝MySQL8.0報錯問題的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL常用類型轉(zhuǎn)換函數(shù)總結(jié)(推薦)
這篇文章主要介紹了MySQL常用類型轉(zhuǎn)換函數(shù)總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04MySQL中LAST_INSERT_ID()函數(shù)的實現(xiàn)
本文主要介紹了MySQL中LAST_INSERT_ID()函數(shù)的作用和使用方法,LAST_INSERT_ID()函數(shù)用于返回上一次INSERT操作生成的自增ID,對于需要獲取新插入記錄的主鍵的場景非常重要,感興趣的可以了解一下2024-10-10Mysql?InnoDB?的內(nèi)存結(jié)構(gòu)詳情
這篇文章主要介紹了Mysql InnoDB的內(nèi)存結(jié)構(gòu)詳情,InnoDB存儲引擎的邏輯存儲結(jié)構(gòu)是什么呢,下面我們就一起進(jìn)入文章了解更多詳細(xì)內(nèi)容吧,感興趣的小伙伴可以參考一下2022-05-05Mysql數(shù)據(jù)庫的QPS和TPS的意義和計算方法
今天小編就為大家分享一篇關(guān)于Mysql數(shù)據(jù)庫的QPS和TPS的意義和計算方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03解決Mysql收縮事務(wù)日志和日志文件過大無法收縮問題
這篇文章主要介紹了解決Mysql收縮事務(wù)日志和日志文件過大無法收縮問題,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-08-08