关于mysql on docker的配置和启动

关于mysql on docker的配置和启动

首先需要安装docker,在Debian中,需要安装docker.io这个包。

需要注意的是,在安装了docker以后,如果你不是在docker组中,想要使用pull命令将会提示你权限不够,所以你需要将自己加入到docker组中。

使用

usermod <username> -a -G docker

然后你需要注销并从新登录才能够应用更改。

然后使用

docker version

应该能够看到关于docker server和client的信息,如果有报错的,大概是提示你docker服务没有启动,
使用命令

systemctl start docker

开启docker服务即可。

或许你还想要使用docker镜像加速器。

然后使用命令

docker pull mysql

将mysql镜像拉下来。

使用

docker run --name mysql-1 -p 3306:3306 \
    -v ~/data:/var/lib/mysql \
    -v ~/logs:/var/log/mysql \
    -v ~/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql

其中

  • –name: 指定运行容器的名称
  • -p: 指定主机端口和容器端口的映射
  • -v: 指定主机路径和容器路径的映射
  • -d: 指定后台运行mysql镜像

这里指定路径映射的价值在于,当你销毁了你的容器,你的数据不会被跟着一起销毁。

然后需要进入docker创建能够远程访问的用户

docker exec -it mysql-1 bash

然后进入mysql,使用一下sql语句创建用户并授予权限

create user 'admin'@'%' identified by 'admin';
    grant all on *.* to 'admin'@'%';
    flush privileges;

提示一下是在你使用一些过时版本的mysql客户端的时候,他可能会告诉你他需要一个关于密码验证的插件。

出现这个错误的原因是,mysql server在新版本更改了自己的密码验证方式,而你的MySQL客户端太旧了。

解决办法有两个:

  1. 更新你的mysql客户端
  2. 将用户的密码验证方式更改为mysql_native_password。

如果你想要使用第二种解决方法,那么你该执行的sql语句是

alter user 'admin'@'%' identified with mysql_native_password by 'admin';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值