一、✅ 一句話總流程

停服務 → 刪 systemd → 刪 binary → 清 datadir → 刪配置 & PATH → 再跑 install_mysql84.sh

下面我一步一步給你 可直接複製執行的命令


二、✅ 第一步:停止 MySQL(如果在運行)

systemctl stop mysqld 2>/dev/null
systemctl disable mysqld 2>/dev/null

確認:

systemctl status mysqld

應為 inactive (dead)


三、✅ 第二步:刪除 systemd 服務文件(關鍵)

rm -f /etc/systemd/system/mysqld.service
rm -f /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload

確認:

systemctl list-unit-files | grep mysqld

✅ 無輸出。


四、✅ 第三步:刪除 MySQL 二進制(程序目錄)

rm -rf /usr/local/mysql*

確認:

ls /usr/local | grep mysql

✅ 無輸出。


五、✅ 第四步:清空數據目錄(讓初始化可重新生成)

⚠️ 確認數據不需要

rm -rf /data/mysql/*
chown -R mysql:mysql /data/mysql
chmod 750 /data/mysql

確認:

ls -A /data/mysql

✅ 空。


六、✅ 第五步:刪除配置文件與環境變量

rm -f /etc/my.cnf
rm -f /etc/profile.d/mysql.sh

確認:

which mysql

✅ 不應指向 /usr/local/mysql/bin/mysql

如果看到 /usr/bin/mysql,那是系統 RPM 客户端,可以保留或忽略。


七、✅ 第六步:最終環境校驗(30 秒)

在重新執行腳本前,快速檢查:

ls /usr/local | grep mysql      # 無
ls -A /data/mysql               # 空
systemctl list-unit-files | grep mysqld  # 無

八、✅ 第七步:重新執行安裝腳本

cd /data
sed -i 's/\r$//' install_mysql84.sh
chmod +x install_mysql84.sh
./install_mysql84.sh

九、✅ 正常成功時你會看到

  • 初始化日誌
  • systemd enable 成功
  • mysqladmin ping 成功
  • 打印 root 臨時密碼

示例:

====== MySQL 8.4 安裝完成 ======
root 臨時密碼:
A temporary password is generated for root@localhost: XXXXXXX

十、✅ 執行完成後你必須做的兩件事

✅ 1️⃣ 登錄並改密碼

mysql -uroot -p'臨時密碼'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPwd@123!';

✅ 2️⃣ 驗證路徑

which mysql
mysql --version

✅ 應指向:

/usr/local/mysql/bin/mysql