【问题标题】:Reset password mysql in docker container在docker容器中重置密码mysql
【发布时间】:2019-07-04 04:56:22
【问题描述】:

我在 docker 容器上运行 MySql。我将它用于我的 WordPress 数据库。它一直运行良好,但我想检查一些事情,因为我收到了来自 WordFence 的警告,即用户是在 Wordpress 之外创建的。

但是,我似乎不记得 root 密码是什么。按照本指南 (https://www.techrepublic.com/article/how-to-set-change-and-recover-a-mysql-root-password/),我尝试重置密码,但总是收到错误消息,提示 mysqld_safe 已在另一个进程上运行。

当我执行ps -x 时,我得到了这个:

  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 /bin/sh /usr/bin/mysqld_safe
   92 pts/0    Ss     0:00 bash
  115 pts/0    R+     0:00 ps -x

我似乎无法终止这个进程。我不知道如何使用 -skip-grant-tables 运行 mysqld_safe。 我发现更奇怪的是,当我执行service mysql stop 时,它说它会停止 mysql,但我仍然可以访问博客 - 只有停止容器才会将其关闭。

关于我可以在这里做什么的任何线索?

【问题讨论】:

    标签: mysql wordpress docker


    【解决方案1】:

    我找到了方法。

    我必须停止容器:

    docker stop my-container

    然后,我需要将我的容器提交到一个新图像:

    docker commit my-container temp-container

    我暂时安装了这个:

    docker run -it --name some_name -d --entrypoint=bash -v the-volume:/var/lib/mysql temp_container

    docker attach some_name

    然后,在 bash 中,我可以简单地运行 mysqld_safe --skip-grant-tables & 并更改 root 密码,就像网上经常解释的那样。

    【讨论】:

    • mysql_safe 不存在
    猜你喜欢
    • 2018-06-23
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2015-04-27
    • 2016-11-16
    • 2021-04-19
    • 2012-02-08
    相关资源
    最近更新 更多