当前位置: 首页 > news >正文

解决Docker部署的MySQL8错误日志里面的 mbind: Operation not permitted 问题

记录一下常见的MySQL异常问题

1. 问题现象

Docker容器创建的MySQL8,查看error.log发现多次出现:

mbind: Operation not permitted
mbind: Operation not permitted
mbind: Operation not permitted
mbind: Operation not permitted
...

2. 问题原因

这是底层操作系统调用警告,可能是你运行MySQL的容器或系统中,内核或容器配置限制了内存绑定(numa/memory policy)操作。一般不影响MySQL主功能,但会有性能影响。

  • mbind 是 Linux 下设置内存策略(如 NUMA 节点内存绑定)的系统调用,控制程序访问内存的物理位置,从而优化性能。

  • 默认容器没有这种能力权限,mbind 等调用会被拒绝,导致 mbind: Operation not permitted 这种警告。

  • mbind允许程序指定内存页在哪个NUMA节点(内存区域)分配,减少跨节点内存访问延迟。
    结合CPU亲和性,进程能更高效地利用硬件资源,提升整体系统吞吐和响应速度。

  • 没有这个权限时,系统调用会被拒绝,MySQL会提示mbind: Operation not permitted,同时潜在性能降低。

3. 解决方案

创建容器时增加 --cap-add=SYS_NICE 或者 --privileged 参数,不过建议使用前者,后者是赋予所有权限。

–privileged 与 --cap-add=SYS_NICE 的区别

特性--privileged--cap-add=SYS_NICE
权限范围容器获得全部内核权限,类似宿主机权限只增加指定的一个能力(System Nice 权限)
安全性最低,权限过大,风险较高较高,权限最小化,只开需要的单一能力
使用场景需要极高权限访问宿主机或者设备时只需某些特定功能时,推荐使用此方式
资源限制基本无限制依旧受Docker默认安全限制约束

附上一般启动MySQL容器常见方法:

docker run -u root \--cap-add=SYS_NICE \--network=host \--restart=always \--name mysql8 \-v /data/apps/mysql/conf/my.cnf:/etc/mysql/my.cnf \-v /data/apps/mysql/files:/var/lib/mysql-files \-v /data/apps/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=YourPassWord_ \-d mysql:8.0.22

备注:-u root 的作用

  • 让容器内的命令和进程以 root 用户权限 运行。
  • root 用户拥有容器内最高权限,可以访问和修改容器文件系统中的任何内容。
  • 默认情况下,某些镜像可能不是以 root 用户运行,而是以普通用户运行,使用 -u root 可以切换到 root 用户。
http://www.dtcms.com/a/321139.html

相关文章:

  • 构建安全 Web 应用:从用户认证与授权到 JWT 原理解析
  • python使用python-docx自动化操作word
  • 【杂谈】-逆缩放悖论:为何更多思考会让AI变“笨“?
  • Numpy科学计算与数据分析:Numpy布尔索引与花式索引实战
  • 一种对白点进行多重加权并利用三角剖分插值微调白平衡增益的白平衡矫正算法
  • RAG问答系统:Spring Boot + ChromaDB 知识库检索实战
  • 3D Tiles 格式中,Bounding Volum
  • 基于AutoDL平台的3D_Gaussian_Splatting初体验
  • 在 Vue 中使用 ReconnectingWebSocket实现即时通讯聊天客服功能
  • 2025 前端真实试题-阿里面试题分析
  • 关于数据结构6-哈希表和5种排序算法
  • Maptalks vs Cesium
  • 【最新版】2025年搜狗拼音输入法
  • “电子合同”为什么会出现无效的情况?
  • OpenCV cv2.flip() 函数详解与示例
  • 深入理解 Java AWT Container:原理、实战与性能优化
  • ORACLE看当前连接数的方法
  • 柠檬笔试——野猪骑士
  • 南方略咨询与与清源科技正式启动国际市场GTM流程规划咨询项目!!!
  • 汽车电子:现代汽车的“神经中枢“
  • Eyevinn 彻底改变开源部署模式
  • 小孙学变频学习笔记(十三)电动机参数的自动测量 矢量控制的转速反馈
  • 如何 让ubuntu 在root 下安装的docker 在 普通用户下也能用
  • Spring Boot 结合 CORS 解决前端跨域问题
  • GitLab同步提交的用户设置
  • 2025年渗透测试面试题总结-08(题目+回答)
  • 【19】C#实战篇—— C# 绘制点划线,绘制虚线——PointF dxdy,过x点垂直画红色点划线,长度为W,过y点水平画红色点划线,长度为H
  • 华清远见25072班C语言学习day5
  • 自动驾驶数据闭环
  • 进程管理、系统高负载、cpu超过800%等实战问题处理