如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

话说,苏南大叔在docker里面成功的配置好了第一个mysql实例。见这里:https://newsn.net/say/docker-mysql-image.html 。那么,下一个问题就来了,如何修改这个mysql实例的root密码?

经典方式

当然,连入到mysql,然后使用命令行修改密码是可以的。这也是本篇内容的唯一答案。请知晓。

set password for 用户名@localhost = password('新密码'); 
set password for root@localhost = password('123'); 

对于连接mysql的办法,你可以使用任何办法,客户端、命令行。或者通过docker exec进入docker,然后再进入mysql。看你喜欢。

修改docker参数

现在,时代进步到了docker时代。我们要用docker的办法来解决问题。那么就是修改MYSQL_ROOT_PASSWORD这个参数了。点击保存后,mysql实例重启,验证新密码生效。

但是,实践发现,这样做,是有问题的。原因就是,这样修改后,整个mysql的实例,事实上都被重置了,原来建好的数据库也消失了,这显然不是我们想要的结果。这就涉及到了数据持久化的问题。

我们需要修改『settings=>volumes』里面的路径配置,把docker内部的路径"/var/lib/mysql",映射到本地的目录上。这样,相关的数据也就持久化了。

docker的mysql实例,数据持久化及修改密码。 - mysql-share-00

docker的mysql实例,数据持久化及修改密码。(图4-1)

但是保存后,整个mysql实例都挂了,完全启动不起来,只有个红色的字,一闪而过。好吧,这个时候,就只能求助命令行模式了。

docker start some-mysql

然后得到了详细的报错信息,提示,我们设置的这个目录,docker并没有相关的权限。需要在docker里面进行设置。

docker的mysql实例,数据持久化及修改密码。 - mysql-share-03

docker的mysql实例,数据持久化及修改密码。(图4-2)

下面是设置的过程截图。

docker的mysql实例,数据持久化及修改密码。 - mysql-share-04

docker的mysql实例,数据持久化及修改密码。(图4-3)

docker的mysql实例,数据持久化及修改密码。 - mysql-share-05

docker的mysql实例,数据持久化及修改密码。(图4-4)

保存生效后,再怎么修改配置,数据库也不会丢失了。但是,通过这种修改配置MYSQL_ROOT_PASSWORD的方法,重置mysql的root密码的办法,也失效了。

总结

大家就还是老老实实的先通过mysql命令行修改密码吧。经典有效!

set password for 用户名@localhost = password('新密码'); 

结语

欢迎关注苏南大叔的更多mysql文章,https://newsn.net/tag/mysql/

  【mysql】秘籍文章入口,仅传授于有缘之人  mysql    docker

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/docker-mysql-advance.html
上一篇好文:docker如何安装 mysql 镜像实例?
下一篇好文:docker安装piwik

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~