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

如何在Docker容器中,修改MySQL密码

如果MySQL运行在Docker容器中,修改MySQL密码的方法稍有不同。以下是如何在Docker中修改MySQL密码的步骤:

方法1:使用MySQL命令行工具

1. 找到MySQL容器的ID或者名字
docker ps
2. 进入MySQL容器
docker exec -it <container_id_or_name> bash

<container_id_or_name> 替换为你自己的容器id

3. 登录MySQL
mysql -u root -p
4. 输入当前的root密码:

图中我是放一起执行的,密码输入部分默认是不显示的,并且要注意 'root'@'localhost' 是表示只允许在本机即本地服务器上登录访问,如果要在客户端可以登录数据库,需要创建新的mysql用户,新的授权才行,下一章会讲。

5. 修改密码(MySQL 5.7及以上版本)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
6. 刷新权限
FLUSH PRIVILEGES;
7. 退出MySQL
exit
8. 退出容器
exit
9. 重启容器(可选)
docker restart <container_id_or_name>

 <container_id_or_name> 替换为你自己的容器id

方法2:使用环境变量重置root密码

如果在创建Docker容器时未指定root密码,您可以通过环境变量来重置root密码:

  1. 停止当前MySQL容器
    docker stop <container_id_or_name>

    <container_id_or_name> 替换为你自己的容器id

  2. 重新启动MySQL容器并设置新密码
    docker run --name <container_name> -e MYSQL_ROOT_PASSWORD=new_password -d mysql:latest

请注意,使用这种方法会重新创建容器并可能导致数据丢失,建议在操作前备份数据。

方法3:通过Docker Compose修改密码

如果您使用Docker Compose管理MySQL容器,可以直接在docker-compose.yml文件中修改环境变量:

  1. 编辑docker-compose.yml文件,将MYSQL_ROOT_PASSWORD修改为新密码:
    version: '3.1'services:db:image: mysql:latestrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: new_password
    
  2. 重新启动Docker Compose服务
    docker-compose down
    docker-compose up -d
    


    下一章
    Docker容器 为MySQL创建新用户和授权-CSDN博客

相关文章:

  • 解决mybastis-plus加入逻辑删除SQL语句自动拼接未删除的问题
  • Java数据结构面试题(一)
  • 联合查询(多表查询)
  • Nikto扫描器,扫描网站信息
  • 智慧城市安全应用
  • 【总线】AXI4第六课时:寻址选项深入解析
  • Conmi的正确答案——ESP32-C3开启安全下载模式
  • WordPress中文网址导航栏主题风格模版HaoWa
  • 2024年Nano编辑器最新使用教程
  • Day05-讲师列表前端-讲师信息添加
  • 学习和发展人工智能:新兴趋势和成功秘诀
  • C语言实现的冒泡排序算法的示例程序
  • 【中项第三版】系统集成项目管理工程师 | 第 2 章 信息技术发展
  • 数据预处理:统计关联性分析/数据清洗/数据增强/特征工程实例
  • Shell Expect自动化交互(示例)
  • hexo+github搭建个人博客
  • 【5+】跨webview多页面 触发事件(二)
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Android开源项目规范总结
  • css的样式优先级
  • Docker容器管理
  • egg(89)--egg之redis的发布和订阅
  • HTTP那些事
  • HTTP中GET与POST的区别 99%的错误认识
  • Mysql优化
  • redis学习笔记(三):列表、集合、有序集合
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 产品三维模型在线预览
  • 从重复到重用
  • 大数据与云计算学习:数据分析(二)
  • 复习Javascript专题(四):js中的深浅拷贝
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 如何选择开源的机器学习框架?
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 再谈express与koa的对比
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • Semaphore
  • Spring第一个helloWorld
  • ​浅谈 Linux 中的 core dump 分析方法
  • ​人工智能书单(数学基础篇)
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $.ajax()
  • (2)空速传感器
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (三)Honghu Cloud云架构一定时调度平台
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .CSS-hover 的解释
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net framework profiles /.net framework 配置
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性