(原创)2021-09-12当生产上的docker容器mysql忘记root密码时的完美解决方案

2023-10-30

通常当mysql密码被忘记时,有运维经验的同学会马上想到用skip-grant-tables修改my.cnf配置文件,然后重启数据库,但是一旦这个mysql服务在docker容器中怎么办?
不要急,首先先查到到这个docker容器的名字:
docker ps
找到结果中的 name这列,然后下列指令登录docker容器的bash。通常在docker容器镜像文件制作的时候,会打包进去基本的bash命令,例如cat和ls,用好这两样能做不少事。
登录进入容器:
docker exec -it mysql bash
接下来,键入如下指令,查看具体在docker中的mysql配置文件的映射所在:
mysql --help | grep my.cnf
得到如下结果:

 逐个使用cat查看:
cat /etc/mysql/my.cnf
发现/etc/mysql/my.cnf 的文件末尾有这么两行 ,就是mysql目前使用的配置路径:说明是从宿主机映射包含过来的,因此修改宿主机的配置文件,再重新启动docker就好了。
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
找到宿主机 /etc/mysql/mysql.conf.d/目录下,除了一个docker配置文件,还有就是mysql的配置文件,修改这里,在 [mysqld] 部分的最后加skip,重启docker ok!

当docker容器重启成功后:
docker restart mysql(docker容器的名字)
然后mysql -h(docker的虚拟网卡地址)就好了。

如果可以在远程使用navicat之类的客户端工具连接,注意连接上之后,在宿主机的firewall中去掉当前的公网mysql服务端口号,系统的当前端口列表中不显示3306即可,否则容易被无处不在的扫描器扫描到。navicat是采用interative方式连接的,因此做大数据备份应不受影响。

欢迎讨论!本文章遵循GPL版权协议,如有转载请注明出处,谢谢。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(原创)2021-09-12当生产上的docker容器mysql忘记root密码时的完美解决方案 的相关文章

  • 非生产模式下的 Elasticsearch docker 容器可消除 vm.max_map_count=262144 要求

    如何配置 elasticsearch docker 容器 elasticsearch 7 5 0 以使用更少的资源并在非生产模式下运行 我想在 Jenkins 和我的桌面上运行容器 并且满足以下要求这个弹性文档 https www elas
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • Docker COPY 命令可以链接起来吗

    是否可以将 COPY 命令链接在一起 就像使用 RUN 命令可以完成的操作一样 链接运行命令的示例 RUN echo root user 2017 chpasswd groupadd g 1000 user useradd u 1000 m
  • MySQL:计算日期/时间之间的差异 - 仅在周一至周五“工作周”期间

    我需要计算开始日期 时间和结束日期 时间之间的差异 但是 我只想在 5 天的工作周内执行此操作 不包括周六 周日 做这个的最好方式是什么 我的想法是 从日期开始 我必须获取星期几 如果是工作日 那么我将添加到累加器中 如果不是 那么我不会添
  • 显示标准化数据

    跟进问题 添加 2 个不同表的总和 https stackoverflow com questions 39717541 adding sum from 2 different tables 我创建了3个表 members videos v
  • docker compose 命令与配置文件一起运行

    随着 docker 最近的更新 每当我运行时docker compose up ddocker 引擎建议我使用以下行 Docker Compose 现在位于 Docker CLI 中 请尝试docker compose up 问题是我怎样才
  • Galera 集群问题

    我想在我们的生产环境中使用Galera集群 但我有一些顾虑 每个表必须至少定义一个显式主键 每个表必须运行在InnoDB或XtraDB存储引擎下 分批处理您的大额交易 例如 不要让一个事务插入 100 000 行 而是将其分成更小的块 例如
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • 如何检查Docker中是否安装了python包?

    我使用Dockerfile成功构建了一个容器 但是 我的代码在容器中不起作用 如果我手动安装所有软件包 它确实有效 我假设我搞砸了一些导致 docker 没有正确安装软件包的事情 所以 我想检查Docker容器中是否安装了python包 最
  • covertJSONtoSQL 在 NiFi 中返回空值

    我正在设计一项工作 使用以下命令将数据从 MySQL 中的数据库转移到另一个数据库 MySQL 执行SQL处理器随后将Avro转换为Json then 将Json转换为SQL then PutSQL如下流程图所示 将JSON转换为SQL返回
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • Node.js 在 Google Cloud Platform 上运行 Hello World 错误部署错误

    我在 Mac OSX Yosemite 上 当我执行以下步骤 运行 Hello World 时出现错误适用于 Google Cloud Platform 的 Node JS Hello World 教程 https cloud google
  • 如何使用 Docker 和 DigitalOcean Spaces 部署 TensorFlow Serving

    如何配置 TensorFlow Serving 以使用存储在 DigitalOcean Spaces 中的文件 重要的是解决方案 提供对这两个配置的访问and模型文件 提供对数据的非公开访问 我已经配置了一个名为your bucket na
  • Netstat不显示docker暴露的端口

    因为某些原因netstat没有列出 docker 暴露的端口 按照建议here https stackoverflow com questions 36454955 docker and netstat netstat is not sho
  • Bash 实例未嵌套在 Dockerfile `RUN` 中

    嵌套 bash 实例会递增 SLVL 环境变量 http tldp org LDP abs html internalvariables html http tldp org LDP abs html internalvariables h
  • 每月获取记录,但如果该月没有记录,则为零

    如果我有以下 SQL 表 Tests id type receiveDate 1 Blood 2012 01 18 2 Blood 2012 01 20 3 Blood 2012 01 18 4 Blood 2012 03 01 5 Blo
  • PHP 和 MySQL - 高效处理多个一对多关系

    我正在寻求一些有关使用 MySQL 和 PHP 检索和显示数据的最佳方法的建议 我有 3 个表 所有一对多关系如下 Each SCHEDULE有很多覆盖每个覆盖都有很多地点 我想检索这些数据 以便它可以全部显示在单个 PHP 页面上 例如列
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 无法从 rollupOptions 自动确定入口点

    我正在尝试对使用 vite 和 vue3 创建的前端应用程序进行 dockerize 它不作为容器工作 这是错误响应 无法从 rollupOptions 或 html 文件自动确定入口点 并且没有显式的 OptimizeDeps inclu

随机推荐

  • 解决Linux -bash: rz(或者是sz): command not found

    rz 上传文件 sz 下载文件 在linux 系统中 使用rz 或 sz 命令是 提示 bash rz 或者是sz command not found 这个时候 说明没有安装 lrzsz 这时 输入命令 yum y install lrzs
  • 手机关机收不到微信消息_手机锁屏后收不到微信消息是怎么回事?

    展开全部 一 网络延迟 在没有接收到微信消息通知 网络延迟占了相当大的比例 使用手机时62616964757a686964616fe4b893e5b19e31333433623139 如果当时的网络信号不好 或者所在的地区信号不好 微信消息
  • 客观面试题--33.Springmvc的三大组件以及各自的作用?

    一 SpringMVC中的组件及各个组件的作用 1 DispatherServlet 前置控制器 负责接收并处理所有的web请求 根据handlerMapping找到具体的Controller 由controller完成具体的处理逻辑 2
  • 张召忠:第四次工业革命来了》课堂笔记

    张召忠 第四次工业革命来了 课堂笔记 讲师介绍 第四次工业革命是什么 第四次工业革命的形态 第四次工业革命有哪些内容 5G 无人驾驶 虚拟技术VR和AR 物联网 智能制造 面对第四次工业革命个人应该做哪些准备 面对第四次工业革命企业应该做哪
  • python使用Qt实现GUI编程

    python使用Qt实现GUI编程 文章目录 python使用Qt实现GUI编程 知识点 流程 过程 Qt 安装 pip安装 创建窗口 2 3 信号与槽 2 4 工具栏与菜单 2 5 窗口部件 2 6 布局 2 6 1 垂直布局 2 6 2
  • ruoyi启动前端报错‘vue-cli-service‘ 不是内部或外部命令

    解决方案 在新项目的pack json的文件目录 执行命令npm install 或者 cnpm install 如果报npm 不是内部命令 需要在系统配置全局的变量 在使用npm的时候 或者是通过npm下载了一些包 使用这些包的时候 有时
  • windows下安装suitesparse问题解决

    目的 在windows系统下 在slam后端中 为了加速计算 需要进行schur消元 边缘化 此时 需要安装一些依赖 方法 安装suitesparse metis for windows 1 5 0 细节问题 1 三 安装suitespar
  • 密码键盘常用(加解密,链接,MAC,PINBLOCK)算法介绍-资料整理

    常用算法介绍 一 DES TDES算法 1 DES Data Encryption Standard 标准加密算法 DES采用了64位的分组长度和56位的密钥长度 它将64位的输入经过一系列变换得到64位的输出 解密则使用了相同的步骤和相同
  • C++练习项目---TinySTL,简易的STL库

    概述 为了练习C 自己仿照标准的STL容器库实现一个简易的STL 目标 自己实现一个简易的容器库 TinySTL 实现标准库的Containers Library Algorithms Library Iterator Library St
  • 网络安全中的“瑞士军刀” nc

    在入侵中它是最经典的工具之一 NetCat被所有的网络安全爱好者和研究者称之为瑞士军刀 通过名字大家就能知道他的功能足够丰富 nc的全称为NetCat 它能够建立并接受传输控制协议 TCP 和用户数据报协议 UDP 的连接 Netcat可在
  • 进程间通信(五)—— 信号量

    Linux进程间通信 使用信号量 ljianhui的专栏 CSDN博客 进程间信号量
  • 利用HBuilder制作简易猜数字游戏

    table tr 猜数字游戏 请输入1 100的数字 tr tr td td tr table
  • 【C语言】malloc动态链表。N个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”都退出圈子,找出最后留在圈子中的人原来的序号。要求用链表实现。出圈顺序

    解题思路 定义一个结构体 它包含序号num和指向自己的结构体指针 编写一个返回值为结构体指针的的函数来返回链表的头指针 该函数中利用malloc函数来建立一个动态链表 建立链表的过程中同时也给节点num赋值 从1 13 编写另一个函数 该函
  • IntelliJ IDEA背景颜色和背景图片设置!

    前言 首先IDIEA是可以设置背景颜色和背景图片的 像有些有个性的同学就像设置自己的一个背景颜色和背景图片 现在将教你们如何设置 背景颜色 在IDEA里先打开File gt Settings gt Appearance Behavior g
  • Playwright快速上手指南

    Playwright是由微软公司2020年初发布的新一代自动化测试工具 相较于目前最常用的Selenium 它仅用一个API即可自动执行Chromium Firefox WebKit等主流浏览器自动化操作 作为针对 Python 语言纯自动
  • 结构体之引用结构体成员变量

    引用结构体成员变量 一个结构体包含一个或者多个成员变量 在实际使用中 就需要对其成员变量进行引用 对于一个已经定义了的结构体变量和一个指向该结构体的指针变量 可以用一下三种情况引用结构体 成员变量 1 由结构体变量名引用其成员 结构体变量名
  • 【C/C++】:C++总体回顾

    文章目录 摘要 一 封装 二 继承 三 多态 四 模板与标准模板库 五 其他 附录 总结 摘要 本篇文章主要用于C 一些专有名词的解释以及对C语言扩充功能的说明 如果想详细了解C 的用法以及代码的讲解建议参考其他专业书籍 一 封装 1 面向
  • C++ lambda

    lambda函数的完整形式 captures params gt return type body 变量捕获方式 参数列表 gt 返回值类型 代码块 lambda函数单独使用的时候必须赋值给auto类型的变量 举个例子 include
  • Shell 重定向错误输出

    Shell 重定向错误输出 笔者准备写一个 Shell 脚本 需要获取一行命令的错误输出 存于一个变量中 供后续使用 首先是获取输出内容到变量 IN echo hello 或者 IN echo hello 这样将会把标准输出 hello 存
  • (原创)2021-09-12当生产上的docker容器mysql忘记root密码时的完美解决方案

    通常当mysql密码被忘记时 有运维经验的同学会马上想到用skip grant tables修改my cnf配置文件 然后重启数据库 但是一旦这个mysql服务在docker容器中怎么办 不要急 首先先查到到这个docker容器的名字 do