如何將 Debian 10 上的 mysql 從 8.029 降級到 8.02x
我在我的測試伺服器(Debian 10)上安裝了 MySQL。我最近將它更新到最新版本(8.0.29),但它存在一些問題,所以我想回到舊版本(8.0.28)。但我無法為我的生活弄清楚如何做到這一點。
我已刪除現有數據庫,並嘗試使用以下方法重新安裝它:
apt-get install mysql-server=8.0.28-1debian10
但這沒有用,並建議我執行:
apt --fix-broken install
當然,它再次將其升級到最新版本。
我已經嘗試了很多變體,但都導致
mysql-server can't be found
或類似的錯誤。我一直在網上搜尋,似乎有很多人問類似的問題,但沒有真正的解決方案。甚至官方的 MySQL 文件也掩蓋了這一點。
可以做到嗎?如果是這樣,怎麼辦?它只是一個測試數據庫,所以我對廢棄它並重新開始沒有任何問題。
如果您有數據,請先進行備份。
要完全解除安裝,請
MySQL
按照以下步驟操作:sudo apt-get purge mysql* sudo apt-get autoremove sudo apt-get autoclean sudo apt-get dist-upgrade sudo rm -rf /etc/mysql sudo rm -rf /var/lib/mysql*
要安裝
MySQL 8.0.22
添加 MySQL 軟體儲存庫sudo apt update sudo apt install gnupg
mysql-server_8.0.22-1debian10_amd64.deb-bundle.tar
從MySQL 存檔或使用 wget下載:wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.22-1debian10_amd64.deb-bundle.tar
下載完成後安裝包:
sudo dpkg -i mysql-apt-config*
在安裝過程中,您將看到一個配置螢幕,您可以在其中指定您喜歡的 MySQL 版本,以及為其他 MySQL 相關工具安裝儲存庫的選項。選擇您需要的那個。
刷新您的 apt 包記憶體以使新的軟體包可用:
sudo apt update
添加儲存庫並更新包記憶體後,現在您可以使用 apt 安裝最新的 MySQL 伺服器包:
sudo apt install mysql-server
MySQL 現在應該已安裝並執行。使用 systemctl 檢查:
sudo systemctl status mysql
不要忘記使用來保護 MySQL
mysql_secure_installation
參考文獻
https://www.digitalocean.com/community/tutorials/how-to-install-the-latest-mysql-on-debian-10
所以我最終到達了那裡。這可能並不完全正確,並且可能有更好的方法來做到這一點,但它對我有用:
- 如果需要,首先進行 MySQLDump 備份。
- 刪除舊的 MySQL 版本
systemctl stop mysql
apt-get remove --purge 'mysql-.*'
apt-get autoremove
apt-get autoclean
apt-get dist-upgrade
rm -rf /etc/mysql
rm -rf /var/lib/mysql*
- 下載新版本包
cd /root
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.28-1debian10_amd64.deb-bundle.tar
- 提取文件並按此順序安裝
mkdir 828
tar -xvf mysql-server_8.0.28-1debian10_amd64.deb-bundle.tar -C /root/828
cd /root/828
dpkg -i libmysqlclient21_8.0.28-1debian10_amd64.deb
dpkg -i mysql-common_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-client-plugins_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-client-core_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-client_8.0.28-1debian10_amd64.deb
dpkg -i mysql-client_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-server-core_8.0.28-1debian10_amd64.deb
apt --fix-broken install
dpkg -i mysql-community-server-core_8.0.28-1debian10_amd64.deb
dpkg -i mysql-community-server_8.0.28-1debian10_amd64.deb
dpkg -i mysql-server_8.0.28-1debian10_amd64.deb
它現在應該使用正確的版本:
systemctl status mysql
mysqld- V
/usr/sbin/mysqld Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
最後,保護數據庫
mysql_secure_installation