【问题标题】:Cannot open /proc/net/unix: No such file or directory // invoke-rc.d: could not determine current runlevel无法打开 /proc/net/unix:没有这样的文件或目录 //invoke-rc.d:无法确定当前运行级别
【发布时间】:2020-03-12 05:57:56
【问题描述】:

我正在尝试在我的 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]

我搜索了有关在 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

但在尝试 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.

我一直在谷歌上搜索Cannot open /proc/net/unix: No such file or directoryinvoke-rc.d: could not determine current runlevel 问题,但找不到适合此问题的解决方案。

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

【问题讨论】:

    标签: mysql linux ubuntu


    【解决方案1】:

    当我查看日志文件/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.
    

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

    [mysqld]
    innodb_use_native_aio = 0 
    

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

    sudo service mysql start
    

    我也不得不跑

     sudo mysql_secure_installation
    

    为root用户设置密码。

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

    • /var/lib/dpkg/info/mysql-server-8.0.postinst 中添加exit 0 作为第二行
    • 正在运行sudo dpkg --configure -a
    • /var/lib/dpkg/info/mysql-server-8.0.postinst 中删除exit 0

    【讨论】:

      【解决方案2】:

      这将是 WSL1 与 WSL2 的问题。 /proc 目录未完全填充 WSL1。检查您的版本运行(从 powershell)wsl -l -v。如果它没有给你任何版本信息,那么你在 WSL1 上。

      【讨论】:

      • 我正在使用你提到的 WSL1!那我应该把它升级到 WSL2 吗?谢谢!
      猜你喜欢
      • 2023-04-06
      • 2019-04-07
      • 2017-05-04
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多