Upgrade

以下軟體包具有未滿足的依賴關係:mariadb-server

  • April 1, 2022

如何讓 Mariadb 再次執行?我的 WordPress 網站正在返回:

建立數據庫連接時出錯

看來我的數據庫已關閉。(我將 Ubuntu 19.04 更新到 19.10 並且遇到了多個問題。)

我繼續檢查 MySQL 安裝的包,忘記了我實際上是在使用 Mariadb。

所以我安裝了 MySQL;發現我不應該那樣做;刪除了 MySQL;並按照這些說明安裝 Mariadb 10.4

sudo apt install mariadb-server正在返回:

某些軟體包無法安裝。這可能意味著您請求了一種不可能的情況,或者如果您使用的是不穩定的發行版,一些必需的軟體包尚未創建或已從 Incoming 中移出。以下資訊可能有助於解決這種情況:

以下包具有未滿足的依賴項:

mariadb-server : 取決於: mariadb-server-10.4 (>= 1:10.4.8+maria~disco) 但它不會被安裝


所以我刪除了 Mariadb來源

apt-get remove --purge mysql*
apt-get remove --purge mysql
apt-get remove --purge mariadb
apt-get remove --purge mariadb*
apt-get --purge remove mariadb-server
apt-get --purge remove python-software-properties

並嘗試使用上述相同的指南再次重新安裝它:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

最後一個命令apt-key ...返回

執行:/tmp/apt-key-gpghome.XsKKHEPfCn/gpg.1.sh –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

gpg:密鑰 F1656F24C74CD1D8:由於缺少密鑰,未檢查 6 個簽名

gpg:密鑰 F1656F24C74CD1D8:“MariaDB 簽名密鑰”未更改

gpg:處理的總數:1

gpg:不變:1

sudo apt update
sudo apt install mariadb-server
# MariaDB 10.4 repository list - created 2019-11-03 16:26 UTC
# http://downloads.mariadb.org/mariadb/repositories/
deb [arch=amd64] http://mariadb.mirror.pcextreme.nl/repo/10.4/ubuntu disco main
deb-src http://mariadb.mirror.pcextreme.nl/repo/10.4/ubuntu disco main

sudo systemctl start mariadb返回

啟動 mariadb.service 失敗:找不到單元 mariadb.service。


dpkg -l | grep -e mysql -e mariadb返回

rc auto **mysql** backup 2.6+debian.4-1 為您的 MySQL 數據庫提供每日、每周和每月的所有備份
ii dbconfig- **mysql** 2.0.11ubuntu2 所有 dbconfig-common MySQL/MariaDB 支持
ii default- **mysql** -client 1.0.5ubuntu2 所有 MySQL 數據庫客戶端二進製文件(元包)
ii libdbd- **mysql** -perl:amd64 4.050-2build1 amd64 Perl5 數據庫介面到 MariaDB/MySQL 數據庫
rc lib **mysql** client18:amd64 5.6.30-0ubuntu0.15.10.1 amd64 MySQL數據庫客戶端庫
ii lib **mysql** client21:amd64 8.0.17-0ubuntu2 amd64 MySQL數據庫客戶端庫
ii **mysql** -client 8.0.17-0ubuntu2 所有 MySQL 數據庫客戶端(元包取決於最新版本)
ii **mysql** -client-8.0 8.0.17-0ubuntu2 amd64 MySQL 數據庫客戶端二進製文件
ii **mysql** -client-core-8.0 8.0.17-0ubuntu2 amd64 MySQL 數據庫核心客戶端二進製文件
ii **mysql** -common 1:10.4.8+maria~disco 所有MariaDB數據庫公用文件(如**/etc/mysql/my.cnf**)
ii **mysql** -server-8.0 8.0.17-0ubuntu2 amd64 MySQL 數據庫伺服器二進製文件和系統數據庫設置
ii **mysql** -server-core-8.0 8.0.17-0ubuntu2 amd64 MySQL 數據庫伺服器二進製文件
rc **mysql** -utilities 1.6.4-1 所有用於管理 MySQL 伺服器的腳本集合
rc php7.0- **mysql** 7.0.24-1+ubuntu17.04.1+deb.sury.org+1 amd64 MySQL 模組 for PHP
ii php7.1- **mysql** 7.1.16-1+ubuntu17.10.1+deb.sury.org+1 amd64 MySQL 模組 for PHP
ii postfix- **mysql** 3.4.5-1ubuntu1 amd64 MySQL map 支持 Postfix
ii roundcube- **mysql** 1.3.8+dfsg.1-2 所有元包,為 RoundCube 提供 MySQL 依賴項

更新 1

看起來我有兩組數據庫。我發現了一個/var/lib/mysql-10.2和另一個/var/lib/mysql/var/lib/mysql-upgrade是空的。

更新 2

我按照這些步驟並停在它所說的地方

但這可能無濟於事,因為您的系統已嚴重損壞,…

這裡有一些輸出:

sudo apt-get update:

點擊:1 http://archive.canonical.com/ubuntu eoan InRelease
獲取:2 http://security.ubuntu.com/ubuntu eoan-security InRelease [92.9 kB]
點擊:3 http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu eoan InRelease
點擊:4 http://archive.ubuntu.com/ubuntu eoan InRelease 
獲取:5 http://archive.ubuntu.com/ubuntu eoan-updates InRelease [88.4 kB] 
在 1 秒內獲取 181 kB (135 kB/s) 
閱讀包裹清單...完成

sudo apt-get install -f:

閱讀包裹清單...完成
建構依賴樹 
讀取狀態資訊...完成
0 升級,0 新安裝,0 刪除,0 未升級。

sudo apt-get dist-upgrade:

閱讀包裹清單...完成
建構依賴樹 
讀取狀態資訊...完成
正在計算升級...完成
0 升級,0 新安裝,0 刪除,0 未升級。

apt-cache policy python3:

蟒蛇3:
已安裝:3.7.5-1
候選人:3.7.5-1
版本表:
*** 3.7.5-1 500
500 http://archive.ubuntu.com/ubuntu eoan/main amd64 包
100 /var/lib/dpkg/狀態

sudo apt install mariadb-server:

閱讀包裹清單...完成
建構依賴樹 
讀取狀態資訊...完成
某些軟體包無法安裝。這可能意味著您有
請求不可能的情況,或者如果您使用的是不穩定的
一些必需的包尚未創建的分發
或被移出 Incoming。
以下資訊可能有助於解決這種情況:

以下包具有未滿足的依賴項:
mariadb-server :取決於:mariadb-server-10.3 (>= 1:10.3.17-1) 但不會安裝
E: 無法糾正問題,您持有破損的包裹。

更新 3

我注意到/var/run沒有 mysql 文件夾……我假設 mysqldb 沒有執行。所以我嘗試了這個:

sudo /etc/init.d/mysql start

[....] 啟動 mysql(通過 systemctl):mysql.service 的 mysql.serviceJob 失敗,因為控制程序以錯誤程式碼退出。
有關詳細資訊,請參閱“systemctl status mysql.service”和“journalctl -xe”。
失敗的!

sudo systemctl status mysql.service

**●** mysql.service - MySQL 社區伺服器
已載入:已載入(/lib/systemd/system/mysql.service;已禁用;供應商預設:已啟用)
活動:自太平洋標準時間 2019 年 11 月 3 日 18:07:45 以來**失敗(結果:退出程式碼);**44 秒前
程序:6033 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre **(code=exited, status=1/FAILURE)**

11 月 3 日 18:07:45 courtens.org systemd[1]: mysql.service: Service RestartSec=100ms expired,調度重啟。
11 月 3 日 18:07:45 courtens.org systemd[1]:mysql.service:計劃重啟作業,重啟計數器為 5。
11 月 3 日 18:07:45 courtens.org systemd[1]:停止 MySQL 社區伺服器。
11 月 3 日 18:07:45 courtens.org systemd[1]:**mysql.service:啟動請求重複太快。**
11 月 3 日 18:07:45 courtens.org systemd [1]:**mysql.service:失敗,結果為“退出程式碼”。**
11 月 3 日 18:07:45 courtens.org systemd[1]:**無法啟動 MySQL 社區伺服器。**

更新 4

我找到了這個並按照步驟操作,它終於奏效了。或者看起來會,但我從來沒有把伺服器拿回來。

從頁面:

在 Ubuntu 上建構 MariaDB

$ sudo apt-get install software-properties-common \
    devscripts \
    equivs

安裝建構依賴項

$ sudo apt-key adv --recv-keys \
    --keyserver hkp://keyserver.ubuntu.com:80 \
    0xF1656F24C74CD1D8

$ sudo add-apt-repository --update --yes --enable-source \
    'deb [arch=amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu '$(lsb_release -sc)' main'

$ sudo apt-get build-dep mariadb-10.3

建構 MariaDB

我找到了這篇文章並用aptitude它代替了apt-getor apt,它終於看起來有一些希望了……

而不是使用

sudo apt install mariadb-server

我用了

sudo aptitude install mariadb-server

現在它開始自我修復

將安裝以下新軟體包:
galera-3{a} libconfig-inifiles-perl{a} mariadb-client-10.3{ab} mariadb-client-core-10.3{ab}
mariadb-common{a} mariadb-server mariadb-server-10.3{ab} mariadb-server-core-10.3{ab} socat{a}
0 個軟體包已升級,9 個新安裝,0 個要刪除,0 個未升級。
需要獲得 18.5 MB 的檔案。解壓後將使用 161 MB。
以下包具有未滿足的依賴項:
mysql-client-8.0 :衝突:mariadb-client-10.3 但要安裝 1:10.3.17-1
衝突:virtual-mysql-client 是一個虛擬包,由:
- mariadb-client-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-client-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mysql-server-8.0 :衝突:mariadb-server-10.3 但要安裝 1:10.3.17-1
衝突:virtual-mysql-server 是一個虛擬包,提供者:
- percona-xtradb-cluster-server-5.7 (5.7.20-29.24-0ubuntu3),但不會安裝
- mariadb-server-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-server-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mariadb-server-core-10.3 :衝突:virtual-mysql-server-core 這是一個虛擬包,由:
- percona-xtradb-cluster-server-5.7 (5.7.20-29.24-0ubuntu3),但不會安裝
- mariadb-server-core-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-server-core-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mariadb-server-10.3 :衝突:virtual-mysql-server 這是一個虛擬包,由:
- percona-xtradb-cluster-server-5.7 (5.7.20-29.24-0ubuntu3),但不會安裝
- mariadb-server-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-server-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mysql-client-core-8.0 :衝突:mariadb-client-10.3 但要安裝 1:10.3.17-1
衝突:mariadb-client-core-10.3 但要安裝 1:10.3.17-1
衝突:virtual-mysql-client-core 是一個虛擬包,提供者:
- mariadb-client-core-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-client-core-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mariadb-client-10.3 :衝突:virtual-mysql-client 這是一個虛擬包,由:
- mariadb-client-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-client-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mariadb-client-core-10.3 :衝突:virtual-mysql-client-core 這是一個虛擬包,由:
- mariadb-client-core-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-client-core-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

mysql-server-core-8.0 :衝突:mariadb-server-10.3 但要安裝 1:10.3.17-1
衝突:mariadb-server-core-10.3 但要安裝 1:10.3.17-1
衝突:virtual-mysql-server-core 是一個虛擬包,提供者:
- percona-xtradb-cluster-server-5.7 (5.7.20-29.24-0ubuntu3),但不會安裝
- mariadb-server-core-10.3 (1:10.3.17-1),但要安裝 1:10.3.17-1
- mysql-server-core-8.0 (8.0.17-0ubuntu2),但安裝的是 8.0.17-0ubuntu2

以下操作將解決這些依賴關係:

刪除以下軟體包: 
1) default-mysql-client [1.0.5ubuntu2 (eoan, now)] 
2) mysql-client-8.0 [8.0.17-0ubuntu2 (eoan, now)] 
3) mysql-client-core-8.0 [8.0.17-0ubuntu2 (eoan, now)]
4) mysql-server-8.0 [8.0.17-0ubuntu2 (eoan, now)] 
5) mysql-server-core-8.0 [8.0.17-0ubuntu2 (eoan, now)]

安裝以下軟體包: 
6) mariadb-client [1:10.3.17-1 (eoan)] 



接受這個解決方案?[是/否/問/?]

引用自:https://unix.stackexchange.com/questions/550154