如何将 mysql.socket 移入 postfix chroot

如何将 mysql.socket 移入 postfix chroot

我希望postfix能够与其交谈mysql,但又不让它失控chroot

我猜测将套接字文件移入chroot应该可以解决这个问题,但这并不容易。

如果我尝试更新我能找到/var/run/mysqld的 所有参考资料/var/spool/postfix/var/run/mysqld

Mysql 想要启动,并要求我运行systemctl status mysql.service,然后我得到:

● mysql.service - MySQL Community Server
        Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
        Active: activating (start-post) (Result: exit-code) since tis 2016-09-06 08:46:34 CEST; 7s ago
       Process: 2747 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
       Process: 2743 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
      Main PID: 2747 (code=exited, status=1/FAILURE);
              : 2748 (mysql-systemd-s)
        CGroup:   /system.slice/mysql.service  
           └─control  
             ├─2748 /bin/bash /usr/share/mysql/mysql-systemd-start post  
             └─2790 sleep 1  

sep 06 08:46:34 kglive systemd[1]: Starting MySQL Community Server...   
sep 06 08:46:36 kglive systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE

grep ERROR /var/log/mysql/error.log重复:

2016-09-06T06:41:24.615150Z 0 [ERROR] Could not create unix socket lock file /var/spool/postfix/var/run/mysqld/mysqld.sock.lock.
2016-09-06T06:41:24.615154Z 0 [ERROR] Unable to setup unix socket lock file.
2016-09-06T06:41:24.615158Z 0 [ERROR] Aborting

目前,我在目录之间使用手动挂载绑定,但每次重启后都必须重新执行此操作,使用ln -s /var/spool/postfix/var/run/mysqld /var/run/mysqld或放入挂载/etc/fstab没有帮助,我猜这是因为启动 mysqld/var/run/mysqld在启动时重新创建了文件夹。

  • 可以移动套接字文件吗?
  • 还有什么其他选择?

(我知道如何让 postfix 脱离 chroot,但我希望不需要这么做)
我认为 mount-bind 解决方案在 上会停止工作service mysql restart

相关内容