无法在 Ubuntu 18.04 上安装 mysql 服务器版本 8,错误 libpthread.so.0 未找到。如何解决?

无法在 Ubuntu 18.04 上安装 mysql 服务器版本 8,错误 libpthread.so.0 未找到。如何解决?

我遇到了以下问题:

-I 添加 mysql 官方存储库

-安装 mysql-server 包,版本 8

-Error 导致安装无法结束。错误表示没有 libpthread.so.0,并显示“没有此文件或目录”错误。

我已经在谷歌上搜索答案好几个小时了,最后决定来这里......但是因为我设法通过阅读 mysql-server vesion 5.7 的类似问题解决了它,但使用了 libaio.1 文件,所以请参阅下面针对我的情况的答案,希望对您有所帮助。

答案1

因此,就我的情况而言,问题不是 libpthread.so.0 文件;它存在(在 中/lib/x86_64-linux-gnu/)。实际问题是 Apparmor,我对此并不了解。它是一种充当某种内部防火墙的服务;它不会阻止网络连接,而是阻止应用程序在系统中执行操作(或者这是我的印象)... 错误没有提到任何与 apparmor 有关的事情;这就是为什么它更难追踪的原因。

解决方案步骤

清除(或者删除,如果您想保留数据库)所有 MySQL 包以重新重复安装:

sudo apt purge "mysql*"

自动删除包

sudo apt autoremove

停止 apparmor 服务

sudo systemctl stop apparmor

让 apparmor 放弃其配置文件(我认为使用 stop 就足够了,但对我来说还不够。使用systemctlstop 不起作用)

sudo service apparmor teardown

重新安装 mysql 服务器

sudo apt install mysql-server

安装 apparmor-utils,在 apparmor 中为 MySQL 创建配置文件,允许 MySQL 运行

sudo apt install apparmor-utils

检查 mysql-server 的状态(必须处于活动(运行)状态)

sudo systemctl status mysql

在 apparmor 中为 MySQL 生成配置文件

sudo aa-genprof mysql

在另一个终端运行 MySQL(输入 root 密码)

mysql -u root -p

当 apparmor 在另一个终端生成配置文件时,在 MySQL 中执行操作

mysql> CREATE DATABASE fooDB

切换到另一个终端并按下s(提示符告诉你这是“扫描”)

按照你认为合适的方式对 apparmor 中的策略说“是”(我猜所有适用于 mysql 的策略都是这样),按“a”表示允许

按下f完成 apparmor 配置文件

重新启动 apparmor 服务

sudo systemctl start apparmor

检查是否仍然可以在另一个终端中使用 MySQL

mysql>exit
mysql -u root -p

如果一切顺利,您可以从命令行使用 MySQL。

相关内容