无法打开 /proc/net/unix: No such file or directory // invoke-rc.d: 无法确定当前运行级别

You*_*Jin 5 mysql linux ubuntu

我正在尝试在我的 wsl Ubuntu 18.04上重新安装mysql-server。

(我在 Windows 10 上有 MySQL 服务器,但在端口 3307 上。如果这很重要,但以防万一!)

我不能sudo service mysql start也不能sudo /etc/init.d/mysql start,它又回来了

No directory, logging in with HOME=/
mkdir: cannot create directory ‘//.cache’: Permission denied
-su: 19: /etc/profile.d/wsl-integration.sh: cannot create //.cache/wslu/integration: Directory nonexistent [Failed]
Run Code Online (Sandbox Code Playgroud)

我搜索了有关在 Ubuntu 中重新安装 mysql 的信息,并按照以下步骤操作。
- https://github.com/microsoft/WSL/issues/1761

sudo su
apt-get remove --purge 'mysql*'
apt-get autoremove
apt-get autoclean
rm -f /etc/mysql /var/lib/mysql
apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)

但是在尝试时apt-get install mysql-server我得到了下面的错误。

invoke-rc.d: could not determine current runlevel
 * Stopping MySQL database server mysqld                                                                         [ OK ]
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Renaming removed key_buffer and myisam-recover options (if present)
Cannot open /proc/net/unix: No such file or directory
Cannot stat file /proc/1/fd/5: Operation not permitted
Cannot stat file /proc/1/fd/10: Operation not permitted
Cannot stat file /proc/1/fd/6: Operation not permitted
Cannot stat file /proc/5/fd/7: Operation not permitted
Cannot stat file /proc/5/fd/10: Operation not permitted
Cannot stat file /proc/5/fd/5: Operation not permitted
Cannot stat file /proc/843/fd/7: Operation not permitted
Cannot stat file /proc/843/fd/10: Operation not permitted
Cannot stat file /proc/843/fd/5: Operation not permitted
dpkg: error processing package mysql-server-5.7 (--configure):
 installed mysql-server-5.7 package post-installation script subprocess returned error exit status 1
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.
Run Code Online (Sandbox Code Playgroud)

我一直在谷歌搜索Cannot open /proc/net/unix: No such file or directory 和invoke-rc.d: could not determine current runlevel问题,但找不到这个问题的正确解决方案。

如果你能给我一些建议,我真的很感激。谢谢!

bje*_*lli 3

当我查看日志文件时/var/log/mysql/error.log我发现

[ERROR] [MY-012585] [InnoDB] Linux Native AIO interface is not supported on this platform. Please check your OS documentation and install appropriate binary of InnoDB.
Run Code Online (Sandbox Code Playgroud)

我通过创建一个新的配置文件禁用了 Native AIO /etc/mysql/conf.d/no_native_aio.conf:

[mysqld]
innodb_use_native_aio = 0 
Run Code Online (Sandbox Code Playgroud)

然后我就可以像这样启动数据库服务器:

sudo service mysql start
Run Code Online (Sandbox Code Playgroud)

我也不得不跑

 sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

设置root用户的密码。

我不得不dpkg通过以下方式欺骗相信安装后脚本已成功运行:

  • 添加exit 0 为第二行/var/lib/dpkg/info/mysql-server-8.0.postinst
  • 跑步sudo dpkg --configure -a
  • 删除 exit 0 来自/var/lib/dpkg/info/mysql-server-8.0.postinst