docker创建数据库

  在前面几张介绍了docker的基础使用,从本章开始,使用docker来搭建生产环境,今天主要是搭建mysql数据库。本来是准备使用dockerfile来创建mysql的镜像的,但是弄了几天也没弄好,所以就先放弃,直接使用docker的镜像源来搭建,话不多说,开始搞事情了。

  首先去创建mysql容器

# 拉取mysql镜像源
docker pull mysql

# 创建mysql容器
# --restart=always 设置docker重启时容器也重启
# -p 3306:3306 指定容器的3306端口映射到宿主机的3306端口
# -e MYSQL_ROOT_PASSWORD=123456 指定root账户的密码
docker run -itd --name mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

# 进入容器去配置其他的信息
docker exec -it mysql /bin/bash

# 登录mysql数据库,密码是在创建容器的密码
mysql -u root -p

# 这里我需要添加一个mysql用户,通过这个用户来操作数据库
# 如果有不懂的可以参考这篇文章关于数据库那一块的指令:https://blog.csdn.net/weixin_45481406/article/details/105077055
create user 'dingyh'@'%' identified by 'password';
grant all on database.* to 'dingyh'@'%'

  完成上面步骤后,我们的数据库就算是配置完成了,现在使用Navicat进行远程连接,然后会出现下面的错误
在这里插入图片描述
  这主要是由于默认的验证插件造成的。mysql容器默认用户的验证插件是"caching_sha2_password",但是Navicat不能识别这种插件,所以就穿出现这种错误。

# 查询信息
select host, user, plugin from user;

在这里插入图片描述
  要解决这个问题,需要将插件改为Navicat识别的插件

# 更改插件
alert user 'dingyh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

# 刷新权限
flush privileges;

在这里插入图片描述
  现在就可以通过Navicat连接数据库了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

華小灼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值