MeS*_*So2 3 dependencies upgrade mariadb
我怎样才能让 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
Run Code Online (Sandbox Code Playgroud)
并尝试使用上述相同的指南再次重新安装它:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Run Code Online (Sandbox Code Playgroud)
最后一条命令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
Run Code Online (Sandbox Code Playgroud)
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 数据库核心客户端二进制文件 二 MySQL的-common 1:10.4.8 +玛利亚〜迪斯科所有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 PHP MySQL 模块 ii php7.1- mysql 7.1.16-1+ubuntu17.10.1+deb.sury.org+1 amd64 PHP MySQL 模块 ii postfix- mysql 3.4.5-1ubuntu1 amd64 MySQL map support for Postfix ii roundcube- mysql 1.3.8+dfsg.1-2 all metapackage 为 RoundCube 提供 MySQL 依赖
看起来我有两组数据库。我/var/lib/mysql-10.2在/var/lib/mysql. /var/lib/mysql-upgrade是空的。
我按照这些步骤并在它声明的地方停了下来
但这可能无济于事,因为您的系统已严重损坏,...
这里有一些输出:
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:无法纠正问题,您持有破损的包裹。
我注意到/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-03 18:07:45 PST;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 过期,调度重启。 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 社区服务器。
我找到了这个并按照步骤操作,终于奏效了。或者看起来是这样,但我从来没有把服务器拿回来。
从页面:
在 Ubuntu 上构建 MariaDB
$ sudo apt-get install software-properties-common \
devscripts \
equivs
Run Code Online (Sandbox Code Playgroud)
安装构建依赖
$ 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
Run Code Online (Sandbox Code Playgroud)
构建 MariaDB
...
看起来你已经修复了它,但我猜最初的问题是没有清除所有必要的包。
apt-get remove --purge mysql*
Run Code Online (Sandbox Code Playgroud)
只删除以“mysql”开头的包。一些软件包,稍后列出
dpkg -l | grep mysql
Run Code Online (Sandbox Code Playgroud)
包名中有“mysql”。我非常确定在原始清除命令之后运行 dpkg list 命令会发现一些仍然安装的 mysql 软件包。我遇到了类似的问题,这是因为一些“libmysql ...”包。清除命令也需要前导通配符。(抱歉,我已经习惯了 apt 语法,但 apt-get 也可以工作。)
apt purge *mysql*
apt purge *mariadb*
dpkg --list | grep mysql
dpkg --list | grep mariadb
Run Code Online (Sandbox Code Playgroud)
当 grep'ing 时,我什至会转到“sql”和“maria”只是为了真正确定。我觉得没有必要,但我喜欢在清理时非常非常确定某些东西消失了。
我也有点惊讶的是后来的
apt-get update
Run Code Online (Sandbox Code Playgroud)
命令未列出 mariadb 存储库。我认为标准 Ubuntu 存储库只能提供 10.1 版本,而 mariadb 存储库只能提供 10.4 版本(截至 2020 年 2 月)。我看到安装 10.4 链接中引用了这些 mariadb 存储库,但我在 apt-get update 命令输出中没有看到这些存储库。
我找到了这篇文章并用来aptitude代替apt-getor apt,看起来终于有希望了...
而不是使用
sudo apt install mariadb-server
Run Code Online (Sandbox Code Playgroud)
我用了
sudo aptitude install mariadb-server
Run Code Online (Sandbox Code Playgroud)
现在它开始自我修复
将安装以下新软件包:
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)]
接受这个解决方案吗?[是/否/q/?]