首頁  >  文章  >  資料庫  >  mysql重新安裝的所有疑問都在這裡

mysql重新安裝的所有疑問都在這裡

WBOY
WBOY轉載
2021-12-20 17:41:133304瀏覽

這篇文章帶給大家mysql重新安裝的相關知識,相信有不少人遇過需要重新安裝mysql的經歷,忘記root密碼怎麼辦?不同的系統又應該怎麼操作,下面我們就來看看重新安裝mysql會遇到的問題,該怎麼解決,希望對大家有幫助。

mysql重新安裝的所有疑問都在這裡

最近遇到一個問題 重新安裝了一下系統,但慶幸的是mysql的安裝目錄 沒有安裝在系統碟上。

那麼要如何找回之前mysql內的資料?

長話短說,先講一下來龍去脈。漲知識了

你有沒有在Linux下安裝過mysql,並且忘了mysql root密碼的經驗? (或Windows下)

你是否有配置過jdk環境變數的體驗?

哈哈~ 相信很多小夥伴和我有過一樣的經驗。

發現密碼登入不進去是不是快瘋了?安裝一個mysql都經歷了多種磨難,甚至有小夥伴因為資料庫問題   ~ _~ !一次沒有安裝好導致再來安裝都不能成功。甚至後面還重裝系統了。

那麼下面將會是解決你所有疑問的答案:

#以mysql8.0 Windows 環境為例:

在你進行安裝的時候如果沒有選擇路徑那麼mysql預設安裝在C盤,如果你有指定安裝路徑

那麼找一下mysql的安裝在那裡了

如果你之前安裝過Mysql

那麼先檢查一下服務裡面有沒有mysql服務此電腦==》管理==》服務與應用程式==》服務  如下圖

卸載mysql服務,如果有多餘的服務可以透過

sc.exe delete 服務名稱            刪除沒用的服務,刪除後需要重新啟動電腦

sc.exe delete MySql

也可以使用檢視服務屬性找到服務的位置mysqld.exe remove刪除(這種方式不一定有效,如果路徑出了問題的話,) 

 

#如果原始檔案還在則可以透過這個路徑下的mysqld.exe remove刪除服務

#我們來做個實驗,體驗解壓縮版的(綠化的)mysql怎麼設定,需要在一台沒有安裝過mysql的Windows下執行,可以用VMware虛擬即安裝Windows環境,關於Windows的下載可以在我的安裝作業系統中找的到,https://msdn.itellyou.cn/有所有Windows系統的ed2k連結的鏡像,下載下來即可

第一步、去mysql官網下載一個免安裝版的MySQL的zip套件

https://dev.mysql.com/downloads/mysql/

然後解壓縮,進入解壓縮的目錄下方查看一下有上面檔案

#第二步驟、安裝服務和初始化mysql 

透過Windows標誌X 再透過A 以管理員身分執行powerShell視窗

注意一定要以管理員身分執行不然後面執行會報錯(CMD也行同樣管理員身分)

切換到解壓縮目錄下:

#對應的指令

先   磁碟符號:/

然後cd 到解壓縮目錄

#當然也可以按住Shift 滑鼠右鍵會有一個powershell視窗

如下圖

正式開始

安裝服務  這個mysqld實際上就是mysql的服務程序,所以運行mysqld就是運行mysql服務

.\mysqld.exe install

如果提示mysql已經安裝了則在服務裡找到mysql服務,啟動mysql服務,或者透過mysql.exe remove移除服務先要stop停止

初始化

.\mysqld.exe --initialize-insecure --user=mysql

如上圖會得到data資料夾,裡面存放的是資料庫信息,刪除後資料庫也不在了,需要重新操作才可

还不能登录需要手动启动服务 

 

第一次使用mysql 可以通过mysql.exe -u root -p直接登录进去,如果数据库里没有内容则删除data文件夹(手动关闭mysql服务才可以删除)

然后重新手动启动服务,重新初始化数据库如何登录进(第一次不需要密码) 将下面的123456改成你想要的密码即可

修改root密码(需要在mysql的bin目录下操作,如果配置了环境变量就不需要在bin目录下)

.\mysqld.exe -u root -p
use mysql;
ALTER USER `root`@`localhost` IDENTIFIED BY '123456';

如果你只是想安装mysql那么上面已经安装完了

下面是忘记root密码,进入数据库修改的操作

第1步、关闭服务 也可以通过服务手动关闭(前面的截图),或者输入下面的命令

net stop mysql

第2步、(管理员身份)cd 到mysql主目录的bin目录下

.\mysqld.exe --console --skip-grant-tables --shared-memory

如图 

需要另外开一个powershell窗口在bin目录下 按住Shift 鼠标右键会有一个在此处打开powershell窗口

然后登录进去(不需要输密码)直接回车即可登录进去

 .\mysql.exe -u root -p

启用mysql数据库

use mysql;

这里的 authentication_string不是密码后面操作才是真正修改密码的

update user set authentication_string='' where user='root';

上面只是为了运行root无密码登录,因为前面通过--skip-grant-tables选项导致修改密码的sql :  ALTER USER `root`@`localhost` IDENTIFIED BY '123456';不能修改密码

退出登录

quit

并且把那个执行命令带有 --skip-grant-tables 窗口关闭

然后启动mysql服务

net start mysql

按照正常的登录,不需要输root密码即可登录进去

 .\mysql.exe -u root -p
use mysql;

修改root密码 

ALTER USER `root`@`localhost` IDENTIFIED BY '123456';

在使用mysql的过程中是否有疑问?mysql的数据源到底放在了哪里?下面解答

mysql的数据源实际就在data文件夹内,我们进行一个实验尝试一下 

使用目的:

      证明mysql的数据源在data文件夹下,并且可以通过指定数据源路径,直接使用mysql找到原来的数据。即使现在电脑上没有安装mysql,然后通过复制原来mysql安装目录,来继续使用原来的mysql数据库和数据;

实验部分:

为了实验有效果我们创建一个数据库,这里干脆叫demo(如果你本身有数据库那么更好直接下面实验)

下面的使用即使没有安装过mysql数据库,也可以操作,只需mysql的主目录即可(数据data文件夹下)

第一步、关闭mysql服务 net stop mysql

第二步、新建my.ini文本文件,用来指定mysql位置和数据源位置

将mysql主目录下的data文件夹复制 到D:/盘根目录下 需要关闭服务才可以移动,否则会提示后台占用!

新建 my.ini 文本文件(干脆放在D:\mysql-8.0.18-winx64 即放在主目录下,5.5以前有这个文件后面都没有了)

写入如下的代码,指定数据库的主目录,数据源路径 以及端口

[mysqld]
basedir = D:\mysql-8.0.18-winx64
datadir = D:\data
port =3306

然通过mysqld启动mysql服务如下图

此时其实也可以通过第三方工具链接mysql 例如Navicat

下面通过命令连接,需要另开一个窗口

可以看到这里连上了mysql并且是原先的数据库!!

反例测试 一、

关闭前面所以powershell窗口

在前面的基础上 将my.ini删除,这样mysqld就找不到数据源,看下它提示了什么错误

这里因为没有my.ini告诉mysqld程序mysql主目录在那以及数据源在那,导致执行失败

现在通过.\mysql.exe -u root -p肯定连接不上因为mysql服务都没有启动起来

反例測試二、

將my.ini的datadir刪除,如下圖

#然後跟前面一樣試試 

此時報了一堆錯誤,具體錯誤自己看下錯誤的提示,然後你只需要根據錯誤的提示修改即可,

比如說第一個ERROR 提示無法找到錯誤訊息檔案

error-message file只需要在設定檔指定即可正確的位置即可

【推薦:mysql影片教學

以上是mysql重新安裝的所有疑問都在這裡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除