docker安装部署mysql后忘记root密码

应用场景是:用docker安装完mysql后,使用安装时候设置的密码登录不上MySQL;

1、修改docker映射出mysql的配置文件:my.cnf

       mysqld最下方添加skip-grant-tables进入安全模式(随意一个密码即可登录mysql)

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
skip-grant-tables

2、使用docker命令进入mysql容器

        docker exec -it id bash

3、docker容器内登陆mysql

        mysql -uroot -p  (密码随意输入即可登录成功)

4、在安全模式下修改重置mysql密码

        alter user 'root'@'%' identified by '123456';

注意:密码太简单可能会修改会失败,强烈建议使用强密码;

修改后需要重启mysql服务,最新设置的密码才会生效;

### 修改 Docker 容器MySQLRoot 密码 要在 Docker 容器中的 MySQL 中修改 `root` 用户的密码,可以遵循以下方法: #### 1. 登录到目标容器 通过命令行进入运行中的 MySQL 容器。假设容器名为 `mysql8.0`,可执行如下命令来获取交互式的 Bash shell: ```bash docker exec -it mysql8.0 /bin/bash ``` 这一步允许用户访问容器内的文件系统并进一步操作 MySQL 数据库服务[^1]。 #### 2. 访问 MySQL 数据库 在容器内部启动 MySQL 客户端工具以管理员权限登录数据库服务器。如果当前已设置旧密码,则需输入该密码;如果没有初始密码或者为空,则直接回车跳过验证阶段。 ```bash mysql -u root -p ``` 此过程会提示输入现有密码(如果有),之后便能顺利进入到 MySQL 控制台环境[^3]。 #### 3. 更改 Root 账号密码 一旦处于 MySQL 提示符下 (`mysql>`), 就可以通过发送特定 SQL 查询语句完成更改工作。以下是两种常用方式之一——采用 ALTER USER 方法更新认证凭证信息: 对于基于插件的身份验证机制 (如 caching_sha2_password),推荐使用下面这条指令: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword'; FLUSH PRIVILEGES; ``` 另一种更传统的方式则是利用 SET PASSWORD 命令实现相同目的: ```sql SET PASSWORD FOR 'root'@'%' = PASSWORD('newpassword'); FLUSH PRIVILEGES; ``` 注意替换 `'newpassword'` 成实际想要设定的新值。 #### 4. 验证新配置有效性 退出 MySQL Shell 后再次尝试凭借刚刚创建好的凭据重新接入确认一切正常运作无误。 ```bash exit; # Exit from the container's bash session. docker exec -it mysql8.0 /bin/bash mysql -u root -p ``` 此时应该能够凭借刚设下的全新密码顺利完成身份校验流程[^2]。 以上即为整个调整过程中涉及的关键环节说明文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值