本篇文章給大家?guī)?lái)mysql重新安裝的相關(guān)知識(shí),相信有不少人遇到過(guò)需要重新安裝mysql的經(jīng)歷,忘記root密碼怎么辦?不同的系統(tǒng)又應(yīng)該怎樣操作,下面我們就來(lái)看一下重新安裝mysql會(huì)遇到的問(wèn)題,應(yīng)該怎么解決,希望對(duì)大家有幫助。
近日遇到一個(gè)問(wèn)題 重新安裝了一下系統(tǒng),但慶幸的是mysql的安裝目錄 沒(méi)有安裝在系統(tǒng)盤(pán)。
那么如何找回之前mysql內(nèi)的數(shù)據(jù)?
長(zhǎng)話短說(shuō),先講一下來(lái)龍去脈。漲知識(shí)了
你是否有在linux下安裝過(guò)mysql,并且忘記了mysql root密碼的經(jīng)歷?(或者windows下)
你是否有配置過(guò)jdk環(huán)境變量的體驗(yàn)?
哈哈~ 相信很多小伙伴和我有過(guò)一樣的經(jīng)歷。
發(fā)現(xiàn)密碼登錄不進(jìn)去是不是快瘋了?安裝一個(gè)mysql都經(jīng)歷了多種磨難,甚至有小伙伴因?yàn)?a href="http://m.babyishan.com/tag/%e6%95%b0%e6%8d%ae%e5%ba%93">數(shù)據(jù)庫(kù)問(wèn)題? ?~ _~ !一次沒(méi)有安裝好導(dǎo)致再來(lái)安裝都不能成功。甚至后面還重裝系統(tǒng)了。
那么下面將會(huì)是解決你所有疑問(wèn)的答案:
以 mysql8.0 + Windows 環(huán)境 為例:
在你進(jìn)行安裝的的時(shí)候如果沒(méi)有選擇路徑那么mysql默認(rèn)安裝在C盤(pán),如果你有指定安裝路徑
那么找一下mysql的安裝在那里了
如果你之前安裝過(guò)Mysql
那么先檢查一下服務(wù)里面有沒(méi)有mysql服務(wù) 此電腦==》管理==》服務(wù)和應(yīng)用程序==》服務(wù)? 如下圖
卸載mysql服務(wù),如果有多余的服務(wù)可以通過(guò)
sc.exe delete 服務(wù)名? ? ? ? ? ? 刪除沒(méi)用的服務(wù),刪除后需要重啟電腦
sc.exe?delete?MySql
也可以用查看服務(wù)屬性找到服務(wù)的位置mysqld.exe remove刪除(這種方式不一定有效,如果路徑出了問(wèn)題的話,)?
?
如果原文件還在則可以通過(guò)這個(gè)路徑下的mysqld.exe remove刪除服務(wù)
我們來(lái)做個(gè)實(shí)驗(yàn),體驗(yàn)一下解壓縮版的(綠化的)mysql怎么配置,需要在一臺(tái)沒(méi)有安裝過(guò)mysql的Windows下執(zhí)行,可以用VMware虛擬即安裝一個(gè)Windows環(huán)境,關(guān)于Windows的下載可以在我的安裝操作系統(tǒng)中找的到,https://msdn.itellyou.cn/有所有Windows系統(tǒng)的ed2k鏈接的鏡像,下載下來(lái)即可
第一步、去mysql官網(wǎng)下載一個(gè)免安裝版的MySQL的zip包
https://dev.mysql.com/downloads/mysql/
然后進(jìn)行解壓縮,進(jìn)入解壓縮的目錄下查看一下有上面文件
第二步、安裝服務(wù) 和 初始化mysql?
通過(guò)Windows徽標(biāo) + X 再通過(guò) A 以管理員身份運(yùn)行powerShell窗口
注意一定要以管理員身份運(yùn)行不然后面執(zhí)行會(huì)報(bào)錯(cuò)(CMD也行同樣管理員身份)
切換到解壓縮目錄下:
相應(yīng)的命令
先? ?盤(pán)符:/
然后 cd 到解壓縮目錄
當(dāng)然也可以按住Shift + 鼠標(biāo)右鍵 會(huì)有一個(gè)powershell窗口
如下圖
正式開(kāi)始
安裝服務(wù)? 這個(gè)mysqld實(shí)際就是mysql的服務(wù)程序,所以運(yùn)行mysqld就是運(yùn)行mysql服務(wù)
.mysqld.exe?install
如果提示mysql已經(jīng)安裝了則在服務(wù)里找到mysql服務(wù),啟動(dòng)mysql服務(wù),或者通過(guò)mysql.exe remove移除服務(wù)先要stop停止
初始化
.mysqld.exe?--initialize-insecure?--user=mysql
如上圖會(huì)得到data文件夾,里面存放的是數(shù)據(jù)庫(kù)信息,刪除后數(shù)據(jù)庫(kù)也不在了,需要重新操作才可
還不能登錄需要手動(dòng)啟動(dòng)服務(wù)?
?
第一次使用mysql 可以通過(guò)mysql.exe -u root -p直接登錄進(jìn)去,如果數(shù)據(jù)庫(kù)里沒(méi)有內(nèi)容則刪除data文件夾(手動(dòng)關(guān)閉mysql服務(wù)才可以刪除)
然后重新手動(dòng)啟動(dòng)服務(wù),重新初始化數(shù)據(jù)庫(kù)如何登錄進(jìn)(第一次不需要密碼) 將下面的123456改成你想要的密碼即可
修改root密碼(需要在mysql的bin目錄下操作,如果配置了環(huán)境變量就不需要在bin目錄下)
.mysqld.exe?-u?root?-p
use?mysql;
ALTER?USER?`root`@`localhost`?IDENTIFIED?BY?'123456';
如果你只是想安裝mysql那么上面已經(jīng)安裝完了
下面是忘記root密碼,進(jìn)入數(shù)據(jù)庫(kù)修改的操作
第1步、關(guān)閉服務(wù) 也可以通過(guò)服務(wù)手動(dòng)關(guān)閉(前面的截圖),或者輸入下面的命令
net?stop?mysql
第2步、(管理員身份)cd 到mysql主目錄的bin目錄下
.mysqld.exe?--console?--skip-grant-tables?--shared-memory
如圖?
需要另外開(kāi)一個(gè)powershell窗口在bin目錄下 按住Shift 鼠標(biāo)右鍵會(huì)有一個(gè)在此處打開(kāi)powershell窗口
然后登錄進(jìn)去(不需要輸密碼)直接回車即可登錄進(jìn)去
?.mysql.exe?-u?root?-p
啟用mysql數(shù)據(jù)庫(kù)
use?mysql;
這里的?authentication_string不是密碼后面操作才是真正修改密碼的
update?user?set?authentication_string=''?where?user='root';
上面只是為了運(yùn)行root無(wú)密碼登錄,因?yàn)榍懊嫱ㄟ^(guò)–skip-grant-tables選項(xiàng)導(dǎo)致修改密碼的sql :? ALTER USER `root`@`localhost` IDENTIFIED BY ‘123456’;不能修改密碼
退出登錄
quit
并且把那個(gè)執(zhí)行命令帶有?–skip-grant-tables 窗口關(guān)閉
然后啟動(dòng)mysql服務(wù)
net?start?mysql
按照正常的登錄,不需要輸root密碼即可登錄進(jìn)去
?.mysql.exe?-u?root?-p
use?mysql;
修改root密碼?
ALTER?USER?`root`@`localhost`?IDENTIFIED?BY?'123456';
在使用mysql的過(guò)程中是否有疑問(wèn)?mysql的數(shù)據(jù)源到底放在了哪里?下面解答
mysql的數(shù)據(jù)源實(shí)際就在data文件夾內(nèi),我們進(jìn)行一個(gè)實(shí)驗(yàn)嘗試一下?
使用目的:
? ? ? 證明mysql的數(shù)據(jù)源在data文件夾下,并且可以通過(guò)指定數(shù)據(jù)源路徑,直接使用mysql找到原來(lái)的數(shù)據(jù)。即使現(xiàn)在電腦上沒(méi)有安裝mysql,然后通過(guò)復(fù)制原來(lái)mysql安裝目錄,來(lái)繼續(xù)使用原來(lái)的mysql數(shù)據(jù)庫(kù)和數(shù)據(jù);
實(shí)驗(yàn)部分:
為了實(shí)驗(yàn)有效果我們創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),這里干脆叫demo(如果你本身有數(shù)據(jù)庫(kù)那么更好直接下面實(shí)驗(yàn))
下面的使用即使沒(méi)有安裝過(guò)mysql數(shù)據(jù)庫(kù),也可以操作,只需mysql的主目錄即可(數(shù)據(jù)data文件夾下)
第一步、關(guān)閉mysql服務(wù) net stop mysql
第二步、新建my.ini文本文件,用來(lái)指定mysql位置和數(shù)據(jù)源位置
將mysql主目錄下的data文件夾復(fù)制 到D:/盤(pán)根目錄下?需要關(guān)閉服務(wù)才可以移動(dòng),否則會(huì)提示后臺(tái)占用!
新建 my.ini 文本文件(干脆放在D:mysql-8.0.18-winx64 即放在主目錄下,5.5以前有這個(gè)文件后面都沒(méi)有了)
寫(xiě)入如下的代碼,指定數(shù)據(jù)庫(kù)的主目錄,數(shù)據(jù)源路徑 以及端口
[mysqld] basedir?=?D:mysql-8.0.18-winx64 datadir?=?D:data port?=3306
然通過(guò)mysqld啟動(dòng)mysql服務(wù)如下圖
此時(shí)其實(shí)也可以通過(guò)第三方工具鏈接mysql 例如navicat
下面通過(guò)命令連接,需要另開(kāi)一個(gè)窗口
可以看到這里連上了mysql并且是原先的數(shù)據(jù)庫(kù)!!
反例測(cè)試 一、
關(guān)閉前面所以powershell窗口
在前面的基礎(chǔ)上 將my.ini刪除,這樣mysqld就找不到數(shù)據(jù)源,看下它提示了什么錯(cuò)誤
這里因?yàn)闆](méi)有my.ini告訴mysqld程序mysql主目錄在那以及數(shù)據(jù)源在那,導(dǎo)致執(zhí)行失敗
現(xiàn)在通過(guò).mysql.exe -u root -p肯定連接不上因?yàn)閙ysql服務(wù)都沒(méi)有啟動(dòng)起來(lái)
反例測(cè)試 二、
將my.ini的datadir刪除,如下圖
然后和前面一樣試試?
此時(shí)報(bào)了一堆錯(cuò)誤,具體錯(cuò)誤自己看下錯(cuò)誤的提示 ,然后你只需要根據(jù)錯(cuò)誤的提示修改即可,
比如說(shuō)第一個(gè)Error 提示 不能找到錯(cuò)誤信息文件
error-message file只需要在配置文件 指定即可正確的位置即可
【推薦:mysql視頻教程】