docker搭建mysql 用户名密码忘记了怎么办
1.先确定mysql使用的版本及mysql中的非系统库及系统库是否有没有挂载
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
即:上述命令中的 -v 命令 及之后的参数,没有挂载的拷贝到宿主机中指定目录/usr/local/docker/mysql
2.在一个新的linux环境中,重新构建mysql服务,使用上述命令.
#使用新的用户名密码登录
mysql -uroot -p123456
3.执行show databases后,选择mysql系统库
4.添加新的用户
#允许本地 IP访问localhost的Mysql数据库
create user 'editest'@'localhost' identified by 'editest123456';
#允许外网IP访问数据库editest,本命令包含上面的命令,是所有的IP都可以访问该数据库
create user 'editest'@'%' identified by 'editest123456';
#用户创建完成后,刷新授权
flush privileges;
5.为新增的用户editest赋予editestdb库的权限
#赋予editestdb库所有权限
#本地
grant all privileges on `editestdb`.* to 'editest'@'localhost' identified by 'editest123456' with grant option;
#远程
grant all privileges on `editestdb`.* to 'editest'@'%' identified by 'editest123456' with grant option;
#赋予editestdb库部分权限
grant select on editestdb.* to 'editest'@'localhost'; /*给予查询权限*/
grant insert on editestdb.* to 'editest'@'localhost'; /*添加插入权限*/
grant delete on editestdb.* to 'editest'@'localhost'; /*添加删除权限*/
grant update on editestdb.* to 'editest'@'localhost'; /*添加权限*/
#刷新授权
flush privileges;
6.找到新创建mysql服务/usr/local/docker/mysql/data(下图挂载目录不同:请忽略)挂载目录下的3个文件user.frm、user.MYD、user.MYI
7.将找到的这三个文件,拷贝到原来mysql服务的指定挂载目录下(如:/usr/local/docker/mysql/data)根据自己的挂载目录而定, 然后重启mysql服务即可
参考: https://www.cnblogs.com/sablier/p/11605606.html
https://blog.csdn.net/xufengzhu/article/details/81112783
https://www.cnblogs.com/xietianhua/p/11345579.html
https://www.cnblogs.com/apexchu/p/11718445.html
https://blog.csdn.net/u013176681/article/details/72896727/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义