• docker基于mysql镜像构建mysql容器忘记密码解决办法


    环境:

    [root@master-106 ~]# cat /etc/redhat-release 
    CentOS Linux release 7.6.1810 (Core) 
    [root@master-106 ~]# docker --version
    Docker version 19.03.13, build 4484c46d9d
    MySQL 5.7.31
    
    # 进入mysql容器
    [root@master-106 ~]# docker ps|grep mysql
    05759803adb9        mysql:5.7           "docker-entrypoint.s…"   6 weeks ago         Up 4 minutes        3306/tcp, 33060/tcp                        wordpress_db_1
    
    [root@master-106 ~]# docker exec -it 05759803adb9 /bin/bash
    
    # 更新apt
    apt-get update
    # 安装vim, 默认mysql镜像中没有安装vi或vim
    apt-get install vim
    
    # 编辑mysql配置文件
    root@05759803adb9:/# vim /etc/mysql/conf.d/docker.cnf
    # 添加如下一行
    skip-grant-tables
    # 重启数据库
    service mysql restart
    
    # 重新进入容器,登录mysql
    [root@master-106 ~]# docker exec -it 05759803adb9 /bin/bash
    root@05759803adb9:/# mysql -uroot -p
    Enter password:   # 直接回车
    
    mysql> use mysql;
    # mysql 5.7之前版本
    update user set authentication_string=password('新密码') where user="root";
    # mysql 5.7之后版本
    update user set authentication_string=password('新密码') where user="root";
    # 退出数据库
    mysql> exit
    
    # 删除刚才在配置文件中添加的一行
    # /etc/mysql/conf.d/docker.cnf 
    skip-grant-tables
    
    # 重启数据库
    service mysql restart
    
    # 重新进入容器,登录mysql使用新密码验证
    
    [root@master-106 ~]# docker exec -it 05759803adb9 /bin/bash
    root@05759803adb9:/# mysql -uroot -p123456
    # 结果是ok的.
    
    作者:ccku
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题或建议,请多多赐教,非常感谢。
  • 相关阅读:
    demo_38 关注页导航栏实现
    demo_37 评论列表实现_02 封装popup 及 格式化时间
    demo_37 评论列表实现_01
    SaaS
    rsyncd脚本
    rsyncd
    MySQL高可用--MHA安装
    正向代理
    zabbix 一键部署
    kvm安装
  • 原文地址:https://www.cnblogs.com/ccku/p/13938808.html
Copyright © 2020-2023  润新知