MySQL如何從5.5升級到8.0(使用命令行升級)
誰沒事想重裝數(shù)據(jù)庫啊
學(xué)到了數(shù)據(jù)庫原理,實(shí)驗(yàn)作業(yè)里面有新建角色的SQL語句,但是我打上去運(yùn)行就給我報錯了,本來想去找替代的語法的,結(jié)果告訴我role是MySQL8新增的,MySQL8之前都沒有。要不,升級一下吧。
其實(shí)第一次裝MySQL的時候裝的就是8.0版本的,后來跟著寫一個小項(xiàng)目,MySQL版本是5.5的,寫的時候很難受,就直接卸掉了8.0,重裝了5.5,卸載重裝的時候覺得甚是不合理,折騰了好久,當(dāng)時就想再也不要裝數(shù)據(jù)庫了。
然后真香了,這次就想用簡單一點(diǎn)的方式安裝。
準(zhǔn)備
萬事先備份
我用的數(shù)據(jù)庫編輯軟件是sqlyog,點(diǎn)擊菜單欄數(shù)據(jù)庫–>備份/導(dǎo)出–>備份數(shù)據(jù)庫,轉(zhuǎn)存到SQL
再選擇相應(yīng)的數(shù)據(jù)庫保存到你想要保存的路徑就可以了
1、下載要安裝的MySQL版本
這里是官網(wǎng)
https://downloads.mysql.com/archives/community/ 或者點(diǎn)擊這里下載
隨機(jī)選擇一個8.0版本的壓縮包,不建議選最新的
然后將安裝包解壓到你要安裝的目錄
我選擇放在了上次安裝的目錄:D:\develop\MySQL
2、配置環(huán)境變量
新建系統(tǒng)變量
- 變量名:MYSQL_HOME
- 變量值:D:\develop\MySQL\mysql-8.0.20-winx64\bin
.
在Path中新建路徑:%MYSQL_HOME%
3、添加配置文件
新建my.ini添加至mysql-8.0.20-winx64目錄下
# my.ini [mysqld] #skip-grant-tables # 設(shè)置3306端口 port=3306 # 設(shè)置mysql的安裝目錄 basedir=D:\develop\MySQL # 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄 datadir=C:\ProgramData\MySQL/MySQL Server 8.0\Data\ # 允許最大連接數(shù) max_connections=200 # 允許連接失敗的次數(shù)。這是為了防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫系統(tǒng) max_connect_errors=10 # 服務(wù)端使用的字符集默認(rèn)為UTF8 character-set-server=utf8 # 創(chuàng)建新表時將使用的默認(rèn)存儲引擎 default-storage-engine=INNODB # 默認(rèn)使用“mysql_native_password”插件認(rèn)證 default_authentication_plugin=mysql_native_password [mysql] # 設(shè)置mysql客戶端默認(rèn)字符集 default-character-set=utf8 [client] # 設(shè)置mysql客戶端連接服務(wù)端時默認(rèn)使用的端口 port=3306 default-character-set=utf8
安裝
1、卸載MySQL5.5
以管理員身份運(yùn)行命令提示符
cd 到MySQL5.5的bin目錄C:\Windows\system32>cd D:\develop\MySQL\MySQL Server 5.5\bin
命令行輸入命令:mysqld --remove mysql5
可能會報錯
打開任務(wù)管理器查看MySQL名稱,原名稱是mysql5
重新鍵入mysqld --remove mysql5
顯示服務(wù)器正在運(yùn)行,需停止服務(wù)器
方法一:直接在任務(wù)管理器的服務(wù)中找到mysql5,右鍵停止運(yùn)行
方法二:控制面板輸入net stop mysql5
再次輸入mysqld --remove mysql5
2、安裝新的MySQL8.0
cd到D:\develop\MySQL\mysql-8.0.20-winx64\bin目錄下
安裝mysqld -install
初始化mysqld --initialize --user=mysql --console
Data目錄不可用,C:\ProgramData\MySQL\MySQL Server 8.0\Data\這個目錄我只是參照原來的目錄把5.5改成了8.0填進(jìn)了my.ini文件,實(shí)際不存在,手動建C:\ProgramData\MySQL\MySQL Server 8.0\Data\文件夾后成功
產(chǎn)生的臨時密碼會用到,先保存下來
進(jìn)入數(shù)據(jù)庫mysql -u root -p
再輸入上一步生成的臨時密碼
顯示MySQL連接出錯
嘗試打開數(shù)據(jù)庫連接net start mysql
服務(wù)器無法啟動,可能是my.ini沒有放在bin下
或是原來的Data沒有刪除,導(dǎo)致出錯,我原來的C:\ProgramData\MySQL\MySQL Server 5.5文件夾沒有刪除,刪除之后就可以連接上了
輸入臨時密碼還是不能進(jìn)數(shù)據(jù)庫
改了一條指令mysqladmin -u root -pshutdown
再輸入密碼連接成功mysql -uroot -pJ(I%Ea2h;MDc
這時候已經(jīng)是8.0版本了
修改密碼ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
BY后面跟你自己的密碼
退出數(shù)據(jù)庫再此進(jìn)入就可以用新的密碼了
后續(xù)
備份導(dǎo)入
SQLyog直接打開已經(jīng)自動連接上新的數(shù)據(jù)庫了,只有幾個基本的數(shù)據(jù)庫
可以把備份sql文件導(dǎo)入還原
數(shù)據(jù)恢復(fù)成功
總結(jié)
到此這篇關(guān)于MySQL如何從5.5升級到8.0的文章就介紹到這了,更多相關(guān)MySQL5.5升級到8.0內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql從5.7平滑升級到8.0.27的實(shí)現(xiàn)
- MySQL 8.0.26版本升級32版本查詢數(shù)據(jù)為空的解決方案
- MySQL本地版本升級超詳細(xì)教程(從5.5.20升到8.0.21)
- MySQL5.7升級MySQL8.0的完整卸載與安裝及連接Navicat的步驟
- MySQL和MySQL驅(qū)動mysql-connector-java升級到8.0.X版本問題
- 升級到mysql-connector-java8.0.27的注意事項(xiàng)
- MySQL8.0升級的踩坑歷險記
- Docker版的MySQL5.7升級到MySQL8.0.13,數(shù)據(jù)遷移
- win2008下mysql8.0.11升級mysql8.0.17版本詳細(xì)步驟
- MySQL8.0就地升級到MySQL8.4.0的方法
相關(guān)文章
mysql啟動報錯MySQL server PID file could not be found
這篇文章主要介紹了mysql啟動報錯MySQL server PID file could not be found,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11MySql逗號分割的字段數(shù)據(jù)分解為多行代碼示例
逗號分割的字符串可以作為分組數(shù)據(jù)的標(biāo)識符,用于對數(shù)據(jù)進(jìn)行分組和聚合操作,下面這篇文章主要給大家介紹了關(guān)于MySql逗號分割的字段數(shù)據(jù)分解為多行的相關(guān)資料,需要的朋友可以參考下2023-12-12面試被問select......for update會鎖表還是鎖行
select … for update 是我們常用的對行加鎖的一種方式,那么select......for update會鎖表還是鎖行,本文就詳細(xì)的來介紹一下,感興趣的可以了解一下2021-11-11mysql存儲過程基礎(chǔ)之遍歷多表記錄后插入第三方表中詳解
這篇文章主要給大家介紹了關(guān)于mysql存儲過程教程之遍歷多表記錄后插入第三方表中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-07-07Last_Errno:?1062,Last_Error:?Error?Duplicate?entry
Last_Errno:?1062,Last_Error:?Error?Duplicate?entry?...?for?key?PRIMARY2014-02-02MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解
這篇文章主要介紹了MySQL函數(shù)CONCAT、CONCAT_WS、GROUP_CONCAT用法詳解,CONCAT 函數(shù)用于將兩個字符串連接為一個字符串,本文通過實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下2023-02-02