Docker创建MySQL容器

前言

本文通过 Docker 搭建 MySQL 容器服务为例,了解 Docker 容器的一些操作命令。

拉取MySQL镜像

linux/amd64 架构平台:docker pull mysql
linux/arm64/v8 (适用 Apple Silicon M1) 架构平台:docker pull mysql/mysql-server
因为用的 Mac 是 ARM64架构的 M1 芯片,所以拉取的 MySQL 镜像命令有些区别。

运行MySQL容器

命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-d--detach,以后台方式运行容器。
-p--publish,开放端口,这里是绑定主机的 13306 端口到容器内的 3306 端口。
-v--volume,绑定挂载数据卷,这里是将主机 /Users/wei/data/mysql/ 挂载到容器内。
--name,命名容器,不指定时会给容器一个随机名称。
mysql/mysql-server:8.0,指定镜像,也可以用镜像ID。

docker run -d \
  -p 13306:3306 \
  -v /Users/wei/data/mysql/:/var/lib/mysql/
  --name=mysql mysql/mysql-server:8.0

获取MySQL初始密码

很多时候启动了一个容器服务后,都会有要查看服务运行日志的情况,
这时不必进入容器内,只需通过docker logs命令。
命令格式:docker logs [OPTIONS] CONTAINER

docker logs mysql

通过上面的命令,找到其中的日志,例如:
[Entrypoint] GENERATED ROOT PASSWORD: 907*@^3KUB&l0.=b19t*ZNmpl#7Dlekw
也可以直接使用命令:docker logs mysql1 2>&1 | grep GENERATED

连接MySQL

连接至 MySQL 服务,在本地我们会用mysql -uroot -p这样的命令,
而对于运行在容器内的 MySQL,可以通过docker exec执行容器内命令而不必进入容器内操作。
命令格式:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-i--interactive,交互,意思就是保持标准输入 (STDIN) 打开。
-t--tty,分配伪终端(pseudo-tty)并绑定到容器的标准输入上。
mysql,指定的容器。
mysql -uroot -p,连接至 MySQL 的命令。

docker exec -it mysql mysql -uroot -p

执行上面的命令,然后输入刚才获取到 MySQL 初始密码。

修改root@localhost密码

连接到 MySQL 后即可执行 MySQL 的一些操作。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

参考

[1] Docker run reference
[2] GitHub - docker-library/mysql


推荐文章

AI最佳实践全栈式从0到1开发个人博客系统

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我喺小VIE

努力创作,值得肯定●゜ⅴ゜)ノ

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

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

打赏作者

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

抵扣说明:

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

余额充值