最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL5卸載到MySQL8安裝的不踩坑指南

 更新時(shí)間:2026年05月08日 08:56:39   作者:WL_Aurora  
本文詳細(xì)介紹了從MySQL 5.x升級(jí)到MySQL 8.0的全過程,包括徹底卸載舊版本、下載安裝、配置MySQL 8.0、解決常見問題以及體驗(yàn)新特性,特別強(qiáng)調(diào)了認(rèn)證方式選擇的重要性,以避免與舊版客戶端的兼容性問題,需要的朋友可以參考下

前言

MySQL 8.0 相比 MySQL 5.x 帶來了巨大的性能提升和新特性(如窗口函數(shù)、CTE、JSON增強(qiáng)、默認(rèn)utf8mb4等),但直接從 MySQL 5 升級(jí)到 8 存在諸多陷阱。本文將從徹底卸載舊版本開始,手把手帶你完成 MySQL 8 的干凈安裝,確保不踩坑。

第一部分:徹底卸載 MySQL 5.x(關(guān)鍵步驟!)

警告:不徹底清理舊版本會(huì)導(dǎo)致 MySQL 8 安裝失敗或配置沖突!

1.1 Windows 系統(tǒng)卸載步驟

步驟 1:停止 MySQL 服務(wù)

Win + R,輸入 services.msc 打開服務(wù)管理器,找到 MySQL 相關(guān)服務(wù),右鍵選擇停止。

步驟 2:卸載 MySQL 程序

打開 控制面板 → 程序 → 程序和功能,找到所有 MySQL 相關(guān)程序(包括 MySQL Server、MySQL Workbench、MySQL Connector 等),逐一卸載。

步驟 3:刪除殘留文件(重點(diǎn)!)

卸載程序后,必須手動(dòng)刪除以下目錄:

# 默認(rèn)安裝目錄
C:\Program Files\MySQL
C:\Program Files (x86)\MySQL
?
# 數(shù)據(jù)目錄(默認(rèn)隱藏?。?
C:\ProgramData\MySQL
?
# 用戶數(shù)據(jù)目錄
C:\Users\[你的用戶名]\AppData\Roaming\MySQL

提示ProgramData 是隱藏文件夾,需要在文件資源管理器中開啟"顯示隱藏的項(xiàng)目"。

步驟 4:清理注冊(cè)表(Windows 必須做)

Win + R,輸入 regedit 打開注冊(cè)表編輯器,刪除以下路徑:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL

步驟 5:刪除環(huán)境變量

右鍵"此電腦" → 屬性 → 高級(jí)系統(tǒng)設(shè)置 → 環(huán)境變量,在系統(tǒng)變量 Path 中刪除所有包含 MySQL 的路徑。

步驟 6:重啟電腦

必須重啟,確保所有 MySQL 進(jìn)程和文件句柄釋放干凈。

1.2 Linux 系統(tǒng)卸載步驟

CentOS/RHEL 系統(tǒng)

# 1. 停止 MySQL 服務(wù)
sudo systemctl stop mysqld
?
# 2. 查看已安裝的 MySQL 組件
rpm -qa | grep mysql
?
# 3. 卸載所有 MySQL 包
sudo yum remove mysql-* -y
?
# 4. 刪除數(shù)據(jù)目錄和配置文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf
sudo rm -rf /etc/my.cnf.d
sudo rm -rf /var/log/mysql
?
# 5. 刪除用戶和組(可選)
sudo userdel mysql
sudo groupdel mysql
?
# 6. 清理依賴
sudo yum autoremove -y

Ubuntu/Debian 系統(tǒng)

# 1. 停止服務(wù)
sudo systemctl stop mysql
?
# 2. 卸載 MySQL
sudo apt-get remove --purge mysql-server mysql-client mysql-common -y
sudo apt-get autoremove -y
sudo apt-get autoclean
?
# 3. 刪除殘留文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/log/mysql
?
# 4. 檢查是否清理徹底
dpkg -l | grep mysql
# 如果有殘留,繼續(xù)刪除
sudo apt-get purge [包名]

第二部分:下載 MySQL 8.0

2.1 官方下載地址

訪問 MySQL 官方下載頁面:https://dev.mysql.com/downloads/mysql/

選擇適合你系統(tǒng)的版本:

  • Windows: 推薦下載 mysql-installer-community-8.0.xx.msi(在線安裝器,約 20MB)
  • Linux: 使用官方 Yum/APT 倉庫或下載 RPM/DEB 包

建議:Windows 用戶選擇 MySQL Installer 方式,圖形化界面最不容易出錯(cuò)。

第三部分:安裝 MySQL 8.0(Windows 圖形化安裝)

3.1 運(yùn)行安裝程序

雙擊下載的 mysql-installer-community-8.0.xx.msi,等待加載完成。

3.2 選擇安裝類型

推薦選擇:

  • Server only:僅安裝數(shù)據(jù)庫服務(wù)器(推薦,最小化安裝)
  • Full:安裝所有組件(包括 Workbench、Router 等,約 1GB)
  • Custom:自定義選擇組件

避坑:如果只需要數(shù)據(jù)庫服務(wù),選 Server only 即可,避免安裝不必要的組件導(dǎo)致沖突。

3.3 檢查依賴并下載

安裝器會(huì)自動(dòng)檢查系統(tǒng)依賴(如 Visual C++ Redistributable),如果有缺失會(huì)自動(dòng)下載安裝。點(diǎn)擊 Execute 開始下載組件。

3.4 執(zhí)行安裝

下載完成后,點(diǎn)擊 Execute 安裝 MySQL Server。

第四部分:配置 MySQL 8.0(核心避坑區(qū))

4.1 類型與網(wǎng)絡(luò)配置

  • Config Type: 選擇 Development Computer(開發(fā)機(jī)器)或 Server Machine(服務(wù)器)
  • Port: 默認(rèn) 3306,如果之前安裝過其他數(shù)據(jù)庫占用,可改為 3307
  • Open Windows Firewall ports: ? 勾選,允許遠(yuǎn)程連接

4.2 認(rèn)證方式選擇(重要?。?/h3>

這是 MySQL 8 最大的坑之一!

MySQL 8.0 默認(rèn)使用 caching_sha2_password 認(rèn)證插件,而 MySQL 5.x 使用 mysql_native_password。很多舊版客戶端(如 Navicat 舊版、某些 PHP 版本)不支持新認(rèn)證方式。

選項(xiàng) 1:Use Strong Password Encryption (RECOMMENDED)

  • 使用新的 caching_sha2_password
  • 安全性更高,但要求客戶端支持
  • 如果你使用 MySQL Workbench 8+、Navicat 15+、DBeaver 等新版工具,選這個(gè)

選項(xiàng) 2:Use Legacy Authentication Method

  • 使用舊的 mysql_native_password
  • 兼容性更好,適合舊項(xiàng)目遷移
  • 如果你不確定客戶端版本,或項(xiàng)目使用舊版 PHP/Java 驅(qū)動(dòng),選這個(gè)

建議:如果是全新項(xiàng)目,選 Strong Password Encryption;如果是遷移舊項(xiàng)目,選 Legacy Authentication 避免連接問題。

4.3 設(shè)置 Root 密碼

設(shè)置一個(gè)強(qiáng)密碼(至少 8 位,包含大小寫字母、數(shù)字和特殊字符)。

避坑:務(wù)必記住這個(gè)密碼!MySQL 8 默認(rèn)密碼策略較嚴(yán)格,簡單密碼可能無法通過。

4.4 Windows 服務(wù)配置

  • Windows Service Name: 默認(rèn) MySQL80,建議保持默認(rèn)
  • Start the MySQL Server at System Startup: ? 勾選開機(jī)自啟
  • Run Windows Service as: 選擇 Standard System Account

4.5 執(zhí)行配置

點(diǎn)擊 Execute 執(zhí)行配置,等待所有步驟顯示綠色對(duì)勾。

第五部分:驗(yàn)證安裝

5.1 命令行驗(yàn)證

打開 CMD 或 PowerShell,輸入:

mysql -u root -p

輸入密碼后,看到以下界面表示安裝成功:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.40 MySQL Community Server - GPL
?
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
?
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
?
mysql>

5.2 查看版本確認(rèn)

在 MySQL 命令行中輸入:

SELECT VERSION();

應(yīng)返回類似 8.0.40 的版本號(hào)。

5.3 使用 MySQL Workbench 連接

打開 MySQL Workbench,點(diǎn)擊 + 新建連接:

  • Connection Name: localhost
  • Hostname: 127.0.0.1
  • Port: 3306
  • Username: root

點(diǎn)擊 Test Connection,輸入密碼,看到 Connection Successful 即表示成功。

第六部分:Linux 系統(tǒng)安裝 MySQL 8.0

6.1 CentOS/RHEL 7/8

# 1. 添加 MySQL 官方 Yum 倉庫
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
?
# 2. 安裝 MySQL 服務(wù)器
sudo yum install mysql-community-server -y
?
# 3. 啟動(dòng)并設(shè)置開機(jī)自啟
sudo systemctl start mysqld
sudo systemctl enable mysqld
?
# 4. 查看初始密碼
sudo grep 'temporary password' /var/log/mysqld.log
# 輸出類似:2026-05-01T06:25:00.123456Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Abc9#defGh
?
# 5. 安全初始化(修改密碼、刪除匿名用戶等)
sudo mysql_secure_installation

6.2 Ubuntu 20.04/22.04

# 1. 添加 MySQL APT 倉庫
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
# 在彈出的界面中選擇 MySQL 8.0,然后 OK
# 2. 更新包列表
sudo apt-get update
# 3. 安裝 MySQL
sudo apt-get install mysql-server -y
# 4. 查看初始密碼
sudo grep 'temporary password' /var/log/mysql/error.log
# 5. 運(yùn)行安全腳本
sudo mysql_secure_installation

6.3 Linux 修改 Root 密碼

# 如果忘記初始密碼,可以跳過授權(quán)表重置
sudo systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -u root
# 在 MySQL 命令行中
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密碼';
EXIT;
# 重啟 MySQL
sudo systemctl restart mysqld

第七部分:常見踩坑與解決方案

坑 1:安裝時(shí)提示 "MySQL Server 已存在"

原因:舊版本未卸載干凈,注冊(cè)表或殘留文件沖突。

解決

  1. 重新執(zhí)行第一部分的所有清理步驟
  2. 使用 Geek Uninstaller 等工具強(qiáng)制卸載殘留
  3. 重啟電腦后重新安裝

坑 2:連接時(shí)提示 "caching_sha2_password 認(rèn)證失敗"

原因:客戶端不支持 MySQL 8 的默認(rèn)認(rèn)證插件。

解決

-- 修改用戶認(rèn)證方式為舊版
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
FLUSH PRIVILEGES;

坑 3:安裝后無法啟動(dòng)服務(wù)

原因:端口被占用或數(shù)據(jù)目錄權(quán)限問題。

解決

# 檢查端口占用(Linux)
sudo netstat -tlnp | grep 3306
# 檢查數(shù)據(jù)目錄權(quán)限(Linux)
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql
# 查看錯(cuò)誤日志
sudo tail -f /var/log/mysqld.log

坑 4:遠(yuǎn)程連接被拒絕

原因:MySQL 8 默認(rèn)只允許本地連接。

解決

-- 創(chuàng)建遠(yuǎn)程訪問用戶
CREATE USER 'root'@'%' IDENTIFIED BY '你的密碼';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
-- 修改 bind-address(Linux)
-- 編輯 /etc/my.cnf,在 [mysqld] 下添加:
bind-address = 0.0.0.0

坑 5:導(dǎo)入 MySQL 5 的 SQL 文件報(bào)錯(cuò)

原因:MySQL 8 默認(rèn)字符集為 utf8mb4,且部分語法不兼容。

解決

-- 在導(dǎo)入前設(shè)置字符集
SET NAMES utf8mb4;
-- 如果報(bào)錯(cuò) "Unknown collation: 'utf8mb4_0900_ai_ci'"
-- 在導(dǎo)出時(shí)指定兼容的字符集
mysqldump --default-character-set=utf8mb4 --compatible=mysql5.7 -u root -p 數(shù)據(jù)庫名 > backup.sql

第八部分:MySQL 8 新特性速覽

安裝完成后,你可以體驗(yàn)以下 MySQL 8 的強(qiáng)大新特性:

特性說明
窗口函數(shù)ROW_NUMBER(), RANK(), LEAD(), LAG() 等,告別復(fù)雜子查詢
CTE(公用表表達(dá)式)WITH 語句,讓 SQL 更易讀
JSON 增強(qiáng)JSON 表函數(shù)、聚合函數(shù)、改進(jìn)的索引支持
默認(rèn) utf8mb4原生支持 emoji 和完整 Unicode
降序索引DESC 索引,優(yōu)化排序查詢
不可見索引標(biāo)記索引為不可見,方便測(cè)試性能影響
角色管理更方便的權(quán)限組管理

總結(jié)

從 MySQL 5 遷移到 MySQL 8,徹底卸載舊版本是最關(guān)鍵的第一步。本文涵蓋了:

  1. ? Windows/Linux 完整卸載流程(含注冊(cè)表/殘留文件清理)
  2. ? MySQL 8.0 官方安裝器圖形化安裝步驟
  3. ? 認(rèn)證方式選擇避坑指南
  4. ? Linux 命令行安裝與配置
  5. ? 5 大常見踩坑及解決方案

按照本文步驟操作,你可以順利完成 MySQL 的升級(jí)遷移,享受 MySQL 8 帶來的性能提升和新特性!

附:常用命令速查

# 啟動(dòng)/停止/重啟 MySQL
net start MySQL80        # Windows
net stop MySQL80         # Windows
sudo systemctl start mysqld   # Linux
sudo systemctl stop mysqld    # Linux
# 登錄 MySQL
mysql -u root -p
# 查看版本
mysql --version
SELECT VERSION();
# 查看當(dāng)前用戶
SELECT USER(), CURRENT_USER();
# 查看所有數(shù)據(jù)庫
SHOW DATABASES;

以上就是MySQL5卸載到MySQL8安裝的不踩坑指南的詳細(xì)內(nèi)容,更多關(guān)于MySQL5卸載到MySQL8安裝的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 數(shù)據(jù)庫中如何通過創(chuàng)建新表來備份操作示例代碼

    數(shù)據(jù)庫中如何通過創(chuàng)建新表來備份操作示例代碼

    數(shù)據(jù)庫備份是指在特定時(shí)間點(diǎn)保存數(shù)據(jù)庫中數(shù)據(jù)的過程,備份數(shù)據(jù)通常存儲(chǔ)在不同的物理介質(zhì)上,比如硬盤、磁帶或云端存儲(chǔ)設(shè)備,以防止數(shù)據(jù)丟失或損壞,這篇文章主要介紹了數(shù)據(jù)庫中如何通過創(chuàng)建新表來備份操作的相關(guān)資料,需要的朋友可以參考下
    2025-07-07
  • CMD命令操作MySql數(shù)據(jù)庫的方法詳解

    CMD命令操作MySql數(shù)據(jù)庫的方法詳解

    今天小編就為大家分享一篇關(guān)于CMD命令操作MySql數(shù)據(jù)庫的方法詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • MySQL 聯(lián)合索引與Where子句的優(yōu)化 提高數(shù)據(jù)庫運(yùn)行效率

    MySQL 聯(lián)合索引與Where子句的優(yōu)化 提高數(shù)據(jù)庫運(yùn)行效率

    網(wǎng)站系統(tǒng)上線至今,數(shù)據(jù)量已經(jīng)不知不覺上到500M,近8W記錄了。涉及數(shù)據(jù)庫操作的基本都是變得很慢了,這篇文章主要是說明配置并不是數(shù)據(jù)庫操作慢的主要原因
    2012-01-01
  • 檢測(cè)MySQL的表的故障的方法

    檢測(cè)MySQL的表的故障的方法

    這篇文章主要介紹了檢測(cè)MySQL的表的故障的方法,文中給出的方法基于myisamchk和isamchk這兩個(gè)檢測(cè)工具,需要的朋友可以參考下
    2015-07-07
  • mysql 子查詢與連接表詳情

    mysql 子查詢與連接表詳情

    這篇文章主要介紹了mysql 子查詢與連接表,格式化SQL 包含子查詢的SELECT語句難以閱讀和調(diào)試,特別是它們較為復(fù)雜時(shí)更是如此,對(duì)于能嵌套的子查詢的數(shù)目沒有限制,不過在實(shí)際使用時(shí)由于性能的限制,不能嵌套太多的子查詢,下面請(qǐng)跟雄安邊一起來看看詳細(xì)內(nèi)容吧
    2021-10-10
  • MySQL中字段類型char、varchar和text的區(qū)別

    MySQL中字段類型char、varchar和text的區(qū)別

    今天小編就為大家分享一篇關(guān)于MySQL中字段類型char、varchar和text的區(qū)別,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • mysql tmp_table_size優(yōu)化之設(shè)置多大合適

    mysql tmp_table_size優(yōu)化之設(shè)置多大合適

    這篇文章主要介紹了mysql tmp_table_size優(yōu)化問題,很多朋友都會(huì)問tmp_table_size設(shè)置多大合適,其實(shí)既然你都搜索到這篇文章了,一般大于64M比較好,當(dāng)然你也可以可以根據(jù)自己的機(jī)器內(nèi)容配置增加,一般64位的系統(tǒng)能充分利用大內(nèi)存
    2016-05-05
  • mysql當(dāng)中怎么執(zhí)行sql腳本文件

    mysql當(dāng)中怎么執(zhí)行sql腳本文件

    這篇文章主要給大家介紹了關(guān)于mysql當(dāng)中怎么執(zhí)行sql腳本文件的相關(guān)資料,需要的朋友可以參考下
    2023-08-08
  • 詳解MySQL主從復(fù)制及讀寫分離

    詳解MySQL主從復(fù)制及讀寫分離

    這篇文章主要介紹了詳解MySQL主從復(fù)制及讀寫分離,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)mysql的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Centos7 下Mysql5.7.19安裝教程詳解

    Centos7 下Mysql5.7.19安裝教程詳解

    這篇文章主要介紹了Centos7 下Mysql5.7.19安裝教程詳解,小編認(rèn)為非常不錯(cuò),特此分享到腳本之家平臺(tái),需要的朋友參考下吧
    2017-09-09

最新評(píng)論

安吉县| 游戏| 三河市| 辽源市| 平潭县| 河南省| 玉门市| 惠安县| 沛县| 镇宁| 墨江| 万山特区| 敖汉旗| 赤水市| 邓州市| 阿鲁科尔沁旗| 冕宁县| 福建省| 莱西市| 延边| 堆龙德庆县| 沭阳县| 丹巴县| 龙井市| 双城市| 偃师市| 富锦市| 驻马店市| 彭泽县| 临西县| 乡城县| 敦化市| 平舆县| 安达市| 北票市| 闽清县| 通山县| 固安县| 松原市| 永定县| 上栗县|