无法安装 MySQL - libaio.so.1:无法打开共享对象文件:没有这样的文件或目录 - 带持久性的实时安装

Cannot install MySQL - libaio.so.1: cannot open shared object file: No such file or directory - Live Installation with Persistence


我决定注册 askubuntu.com,因为我真的需要专家的建议:我用 mkusb 制作了 Ubuntu 16.10 的永久 USB Live 安装,因为我想拥有一个可移植的开发环境。一切顺利,我现在正在从那个现场写作。

现在的问题是:我设法安装了 apache2,但是在网上和这个网站上搜索了好几个小时之后,我仍然无法正确安装 MySQL 服务器。重新执行多次安装后,我继续收到此错误:

 Setting up mysql-server-5.7 (5.7.17-0ubuntu0.16.10.1) ...
ERROR: Unable to start MySQL server:
mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Please take a look at https://wiki.debian.org/Teams/MySQL/FAQ for tips on fixing common upgrade issues.
Once the problem is resolved, run apt-get --fix-broken install to retry.
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 127
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                          Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

如果我运行

sudo mysqld --initialize

终端仍然报告

mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

所以我也想搜索这个 "libaio.so.1",然后我完成了 "libaio1" 和 "libaio-dev" 库的安装(看起来是一样的)。然而,即使正确安装了这些库,结果也没有改变。

是不是我在LiveUSB里面导致的?或者是否有另一个程序可以 install/make MySQL 识别(因为它已经安装,并且我确认该文件存在)libaio.so.1?

我真的希望你能帮助我,因为我什么都试过了。对于这个问题中可能犯的任何错误,我提前道歉。谢谢你。

哦,还有一个 unanswered duplicate on the Ubuntu community 是我做的,所以如果这个问题没有得到解答,请随时删除它。再次感谢您。

也许你应该卸载 mysql 然后使用这些命令重新安装它

删除 mysql -

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

重新安装

sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_install_db
sudo /usr/bin/mysql_secure_installation

经过更多小时的研究,我发现问题不是 LiveUSB 或库本身。问题出在 AppArmor,他阻止 MySQL 使用该库。 So I disabled it:

sudo /etc/init.d/apparmor stop
sudo /etc/init.d/apparmor teardown
sudo update-rc.d -f apparmor remove

还有一个不太正统的方法,我完全删除了 AppArmor,以防止将来出现问题:

sudo apt-get purge apparmor

然后我卸载并重新安装 MySQL 服务器完美无缺。有效!

如果您是在安装 MariaDB 时到达此处,则可以使用以下命令安装 libaio1。以上解决方案对我不起作用

sudo apt-get install libaio1

引用为here