Docker最佳实践(三):安装mysql

大家好,欢迎各位工友。 本篇呢我们就来演示一下如何在Docker中部署MySQL容器,可以按照以下步骤进行:

1. 搜索镜像

首先搜索MySQL镜像,可以使用以下命令:

docker search mysql

2. 拉取镜像

根据需求选择MySQL或MariaDB,拉取镜像的命令如下:

docker pull mysql

在这里插入图片描述

3.配置

建立相应的目录,用于挂载,根据自己的目录进行新建:

mkdir -p /kim/mysql/data
mkdir -p /kim/mysql/conf
mkdir -p /kim/mysql/log

4. 启动容器

镜像拉取完成后,可以启动容器,使用以下命令:

docker run -d --privileged=true --restart=always --name mysql -p 3306:3306 \
-v /kim/mysql/conf:/etc/mysql/conf.d  \
-v /kim/mysql/log:/var/log/mysql \
-v /kim/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai mysql

在这里插入图片描述

解释:

  • -d:在后台运行容器;
  • --privileged=true:赋予容器主机的所有权限;
  • --restart=always:设置容器总是自动重启;
  • --name mysql:指定容器名称为mysql;
  • -p 3306:3306:端口映射,将主机端口3306映射到容器端口3306;
  • -v /kim/mysql/conf:/etc/mysql/conf.d:将主机上的配置文件映射到容器内的目录;
  • -v /kim/mysql/log:/var/log/mysql:将主机上的日志目录映射到容器内;
  • -v /kim/mysql/data:/var/lib/mysql:将主机上的数据目录映射到容器内;
  • -v /etc/localtime:/etc/localtime:映射主机时间到容器内以保持时间同步;
  • -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai:设置MySQL root密码和时区;
  • mariadb:指定使用的Docker镜像。

5. 数据库配置(最新版本可以忽略)

旧版本的数据库会有编码问题,导致中文乱码,插入数据可能会报错。如果用的是最新版本,是没有问题的。

下面针对编码问题进行配置:

在挂载的配置目录下,我这里是 /kim/mysql/conf 目录,在 conf 目录下新建配置文件 my.cnf ,内容如下:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

6. 重启容器

修改配置后,需要重启容器生效:

docker restart 容器ID

1722933090645)

7. 测试验证

1. 使用firewall-cmd命令打开3360端口:

sudo firewall-cmd --zone=public --add-port=3360/tcp --permanent

这会将3360端口添加到防火墙规则中,持久生效。

2. 重新加载防火墙配置以应用更改:

sudo firewall-cmd --reload

3. 确认端口3360已打开:

sudo firewall-cmd --list-ports

使用客户端连接工具测试是否连接成功

在这里插入图片描述

8、总结

上述我们演示了如何在docker中安装mysql镜像以及启动mysql容器,下篇文章我们来演示redis的安装教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kimloner

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

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

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

打赏作者

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

抵扣说明:

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

余额充值