mysql: docker 异常 - mbind: Operation not permitted

mbind: Operation not permitted

前言:


用数据库处理平台问题今天报错,mbind: Operation not permitted

在这里插入图片描述
mbind 不允许操作,一头雾水这是什么意思。
网上找了很多资料大概意思是:

这个错误通常表示操作系统或系统管理员已经限制了进程的内存绑定操作。内存绑定是一种将进程的内存映射到特定的物理内存区域的操作,这可以提高性能或者确保一些特定的内存访问策略。但是,在某些环境下,比如虚拟化环境或者受限制的系统中,可能会禁止这种操作。

我是用docker进行处理的,也就是docker虚拟化容器技术。所以这个问题需要docker买单。对于MySQL来说,这个错误可能会影响其正常的运行的,因为我系统已经挂了几次了,几次链接不上mysql。那么如果说是docker问题,这个问题还是需要从docker入手。

从资料上面了解到,Seccomp(Secure Computing Mode)Linux内核提供的一种安全特性,它可以限制进程能够执行的系统调用。这种限制可以帮助提高系统的安全性,尤其是在容器化环境中,通过限制容器内进程的系统调用,可以减少攻击面,提高整体系统的安全性。

Docker中,Seccomp可以被用来限制容器内进程所能执行的系统调用,从而降低潜在的攻击风险。然而,有时候过于严格的Seccomp规则可能会导致一些应用程序无法正常运行,比如现在遇到的MySQL问题就可能是由于Seccomp规则限制了某些MySQL进程所需的系统调用而导致的。

为了解决这类问题,需要考虑修改DockerSeccomp配置,放宽对某些系统调用的限制来看看;


正文:

要放宽DockerSeccomp配置的限制,可以按照以下步骤进行:

首先了解当前的Seccomp配置: 需要了解当前Docker容器的Seccomp配置。

docker inspect <container_name> | grep Seccomp
docker inspect mysql | grep Seccomp

我的没有配置信息
在这里插入图片描述
我的机器是阿里云机器ecs默认指定的docker环境,所以可能 Docker 守护程序(Docker daemon)使用了默认的 Seccomp 配置。

在这里插入图片描述

github docker/mysql里面查一下这个问题,没想到让我get到了
在这里插入图片描述

我用的是8.+ 这个人一路试到5.7.8没有这个问题,所以第一个解法有了

github docker/mysql

在这里插入图片描述
关于关闭muysqlseccomp配置文件的检验从这个人说的,keeps restarting 看来也没有什么作用

security_opt:
  - seccomp:unconfined

在这里插入图片描述

这个人说的靠谱。知道是安全校验问题,还是要回归到安全校验问题上去。

Docker中这样做的最简单方法是添加 SYS_NICE 功能,这将自动调整默认的 seccomp 配置文件以包含必要能力

尝试一下啊:


结论 :

在这里插入图片描述
其实这个是取巧的办法增加他的权限而已:关于cap_add 解释是这样的:

cap_addDocker Compose 中用来添加 Linux 的特权(capabilities)的选项之一,而 SYS_NICE 是其中的一种特权。 SYS_NICE 允许进程修改其优先级(nice值)。通过添加 SYS_NICE 特权,你可以允许容器中的进程修改其优先级。

在这里插入图片描述
如果还是有问题,其实还是需要对容器或者系统这个下面的seccomp 进行加权配置了 目前我的问题解决了

在这里插入图片描述

相关推荐

  1. C++<span style='color:red;'>异常</span>

    C++异常

    2024-05-13 14:26:02      49 阅读
  2. git异常

    2024-05-13 14:26:02       53 阅读
  3. OOM异常

    2024-05-13 14:26:02       60 阅读
  4. Python-异常

    2024-05-13 14:26:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-13 14:26:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-13 14:26:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-13 14:26:02       82 阅读
  4. Python语言-面向对象

    2024-05-13 14:26:02       91 阅读

热门阅读

  1. NTP 协议获取网络时间

    2024-05-13 14:26:02       33 阅读
  2. day10-16:Spring Security

    2024-05-13 14:26:02       32 阅读
  3. vue3 setup标签使用总结

    2024-05-13 14:26:02       34 阅读
  4. [力扣题解]135. 分发糖果

    2024-05-13 14:26:02       30 阅读
  5. Leetcode 3145. Find Products of Elements of Big Array

    2024-05-13 14:26:02       35 阅读
  6. 《管理评论》文本分析技术最新进展总结盘点

    2024-05-13 14:26:02       24 阅读
  7. css 实现背景图和背景色正片叠底

    2024-05-13 14:26:02       30 阅读
  8. git cherry-pick命令使用

    2024-05-13 14:26:02       33 阅读
  9. SpringMVC

    2024-05-13 14:26:02       25 阅读
  10. 深入理解深度学习中的指数移动平均(EMA)

    2024-05-13 14:26:02       29 阅读
  11. C++运算符重载

    2024-05-13 14:26:02       33 阅读
  12. BIO、NIO、多路复用

    2024-05-13 14:26:02       36 阅读