首頁 > 軟體

MySQL如何從5.5升級到8.0(使用命令列升級)

2023-03-07 06:03:52

誰沒事想重灌資料庫啊

學到了資料庫原理,實驗作業裡面有新建角色的SQL語句,但是我打上去執行就給我報錯了,本來想去找替代的語法的,結果告訴我role是MySQL8新增的,MySQL8之前都沒有。要不,升級一下吧。

其實第一次裝MySQL的時候裝的就是8.0版本的,後來跟著寫一個小專案,MySQL版本是5.5的,寫的時候很難受,就直接卸掉了8.0,重灌了5.5,解除安裝重灌的時候覺得甚是不合理,折騰了好久,當時就想再也不要裝資料庫了。

然後真香了,這次就想用簡單一點的方式安裝。

準備

萬事先備份

我用的資料庫編輯軟體是sqlyog,點選選單欄資料庫–>備份/匯出–>備份資料庫,轉存到SQL

再選擇相應的資料庫儲存到你想要儲存的路徑就可以了

1、下載要安裝的MySQL版本

這裡是官網

https://downloads.mysql.com/archives/community/  或者點選這裡下載

隨機選擇一個8.0版本的壓縮包,不建議選最新的

然後將安裝包解壓到你要安裝的目錄

我選擇放在了上次安裝的目錄:D:developMySQL

2、設定環境變數

新建系統變數

  • 變數名:MYSQL_HOME
  • 變數值:D:developMySQLmysql-8.0.20-winx64bin

.

在Path中新建路徑:%MYSQL_HOME%

3、新增組態檔

新建my.ini新增至mysql-8.0.20-winx64目錄下

# my.ini
[mysqld]
#skip-grant-tables
 
# 設定3306埠
port=3306
# 設定mysql的安裝目錄
basedir=D:developMySQL
# 設定mysql資料庫的資料的存放目錄
datadir=C:ProgramDataMySQL/MySQL Server 8.0Data
# 允許最大連線數
max_connections=200
# 允許連線失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統
max_connect_errors=10
# 伺服器端使用的字元集預設為UTF8
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
# 預設使用「mysql_native_password」外掛認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設定mysql使用者端預設字元集
default-character-set=utf8
[client]
# 設定mysql使用者端連線伺服器端時預設使用的埠
port=3306
default-character-set=utf8

安裝

1、解除安裝MySQL5.5

以管理員身份執行命令提示字元

cd 到MySQL5.5的bin目錄
C:Windowssystem32>cd D:developMySQLMySQL Server 5.5bin

命令列輸入命令:
mysqld --remove mysql5可能會報錯

開啟工作管理員檢視MySQL名稱,原名稱是mysql5

重新鍵入
mysqld --remove mysql5

顯示伺服器正在執行,需停止伺服器

方法一:直接在工作管理員的服務中找到mysql5,右鍵停止執行

方法二:控制面板輸入net stop mysql5

再次輸入mysqld --remove mysql5

2、安裝新的MySQL8.0

cd到D:developMySQLmysql-8.0.20-winx64bin目錄下

安裝
mysqld -install

初始化
mysqld --initialize --user=mysql --console

Data目錄不可用,C:ProgramDataMySQLMySQL Server 8.0Data這個目錄我只是參照原來的目錄把5.5改成了8.0填進了my.ini檔案,實際不存在,手動建C:ProgramDataMySQLMySQL Server 8.0Data資料夾後成功

產生的臨時密碼會用到,先儲存下來

進入資料庫
mysql -u root -p

再輸入上一步生成的臨時密碼

顯示MySQL連線出錯

嘗試開啟資料庫連線net start mysql

伺服器無法啟動,可能是my.ini沒有放在bin下

或是原來的Data沒有刪除,導致出錯,我原來的C:ProgramDataMySQLMySQL Server 5.5資料夾沒有刪除,刪除之後就可以連線上了

輸入臨時密碼還是不能進資料庫

改了一條指令
mysqladmin -u root -pshutdown

再輸入密碼連線成功
mysql -uroot -pJ(I%Ea2h;MDc

這時候已經是8.0版本了

修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
BY後面跟你自己的密碼

退出資料庫再此進入就可以用新的密碼了

後續

備份匯入

SQLyog直接開啟已經自動連線上新的資料庫了,只有幾個基本的資料庫

可以把備份sql檔案匯入還原

資料恢復成功

總結

到此這篇關於MySQL如何從5.5升級到8.0的文章就介紹到這了,更多相關MySQL5.5升級到8.0內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com