docker中mysql遇到密码失效

当遇到Docker中的MySQL密码过期问题时,可以通过以下步骤解决:1) 查看MySQL版本并进入容器;2) 登录数据库;3) 修改root用户密码;4) 可选地,设置密码永不过期;5) 刷新权限;6) 重启MySQL容器;7) 重新登录数据库,完成密码更新和验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

突然发现程序连不上数据库,于是查找原因

登录显示如下图,your password has expired,密码失效

 解决步骤如下:

1、查看docker中mysql版本,linux系统输入docker images -a,找到

2.进入docker容器(mysql为第一步中找到的名字,要对应)

docker exec -it mysql /bin/bash

3.进入数据库

mysql -u root -p

然后输入密码即可登录MySQL数据库

4.修改用户密码

用SET PASSWORD命令 (重新设置密码之后重启容器生效)

set password for 'root'@'%' = password('123456');

4. 设置密码永不过期(可选)

ALTER USER 'root' PASSWORD EXPIRE NEVER;

5. 刷新

flush privileges;

6、重新打开窗口输入docker ps -assw

找到mysql的container id

7、重启

docker restart  id(步骤6的id)

8、重新登录数据库,成功

### 使用 Docker 在云服务器上部署 MySQL 在云服务器环境中,可以通过 Docker 容器化技术快速安装并配置 MySQL 数据库。以下是实现这一目标的具体方法: #### 创建 MySQL 容器 可以使用 `docker run` 命令启动一个基于官方镜像的 MySQL 容器,并设置必要的参数以满足需求。例如,以下命令会创建一个名为 `mysql_01` 的容器,挂载本地数据目录 `/data/mysql/` 到容器内的 `/var/lib/mysql` 路径,映射端口 3306 至主机的 3641 端口,并初始化根密码为 `admin` 同时创建默认数据库 `data`[^1]。 ```bash docker run -d \ --name mysql_01 \ --restart always \ -v /data/mysql/:/var/lib/mysql \ -p 3641:3306 \ -e MYSQL_ROOT_PASSWORD=admin \ -e MYSQL_DATABASE=data \ mysql:8.0 ``` 此命令中的选项解释如下: - `-d`: 表示以后台模式运行容器。 - `--name mysql_01`: 设置容器名称为 `mysql_01`。 - `--restart always`: 配置容器自动重启策略。 - `-v /data/mysql/:/var/lib/mysql`: 将宿主机上的 `/data/mysql/` 文件夹挂载到容器内部作为持久存储路径。 - `-p 3641:3306`: 映射宿主机的 3641 端口至容器内的 3306 默认 MySQL 端口。 - `-e MYSQL_ROOT_PASSWORD=admin`: 设定 root 用户的初始密码为 admin。 - `-e MYSQL_DATABASE=data`: 自动创建名为 data 的数据库实例。 - `mysql:8.0`: 指定使用的 MySQL 版本为 8.0。 #### 修改绑定地址以便外部访问 如果希望其他服务或者客户端能够连接到该 MySQL 实例,则需调整其监听范围。通常情况下,默认只允许来自 localhost (即 127.0.0.1) 的请求被接受。为了改变这一点,应编辑 MySQL 的配置文件并将原本限定于本地回环接口的部分取消激活[^3]。 具体操作步骤如下所示: 1. 找寻 MySQL 主要设定档所在位置; 2. 编辑对应文档(比如通过指令 `vi /etc/mysql/mysql.conf.d/mysqld.cnf`),定位至涉及网络绑定部分; 3. 对原有行项前加上井号 (#),使其成为注解状态从而失效原有限制作用; 完成上述更改之后记得保存修改成果并且重新加载或完全停止再开启相关进程使得新规定生效。 #### 总结 综上所述,在 CentOS 或者其他的 Linux 发行版构成的基础之上运用 Docker 技术搭建起一套完整的 LAMP(Linux Apache Mysql Php)/LEMP(Linux Nginx Engine-x Mysql Php)架构体系是非常便捷高效的解决方案之一[^2]。它仅简化了传统意义上的软件包管理流程而且极大地提高了资源利用率与隔离程度保障各个应用之间互干扰正常运转。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值