【Docker】部署MySQL容器

关于docker,Windows上使用Powershell/CMD执行指令,Linux系统直接使用终端执行指令。

拉取MySQL

也可以跳过拉取步骤,直接run,这样本地容器不存在的话,会自动拉取最新/指定的版本。

shell 复制代码
# 默认拉取最新版本
docker pull mysql
# 拉取指定版本MySQL
docker pull mysql:5.7

安装MySQL

shell 复制代码
# 这里 \ 是用作换行,实际情况下如果放在一行去写,就可以删掉\
# CentOs上"\"会被识别为换行,Windows上建议把"\"删掉
# [:自己想要的版本]如果是想要拉取最新的版本,可缺省
docker run --name mysql_docker \
--restart=always \
--privileged=true \
-p 3306:3306  \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=lcx108642 \
-e MYSQL_ROOT_HOST=% \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf \
-v /etc/localtime:/etc/localtime:ro \
-d \
mysql [:自己想要的版本]
  1. docker run:这是 Docker 的命令,用于创建并启动一个新的容器。
  2. --name mysql_docker_lcx:为容器指定一个名称,这里名称为 mysql_docker_lcx
  3. --restart=always:设置容器的重启策略为 always,意味着无论容器因为什么原因退出,Docker 都会自动重启它。
  4. --privileged=true:给予容器额外的权限,使其能够访问宿主机的所有设备,并且有能力执行一些需要高级权限的操作。
  5. -p 3306:3306:将容器内部的 3306 端口映射到宿主机的 3306 端口,这样可以通过宿主机的 3306 端口访问 MySQL 服务。
  6. -e TZ=Asia/Shanghai \:设置mysql服务的时区。
  7. -e MYSQL_ROOT_PASSWORD=123456:设置环境变量,指定 MySQL 的 root 用户密码为 123456
  8. -e MYSQL_ROOT_HOST=%:设置环境变量,指定 MySQL 的 root 用户允许从任何主机连接。
  9. -v /usr/local/mysql/log:/var/log/mysql:挂载宿主机的 /usr/local/mysql/log 目录到容器的 /var/log/mysql 目录,用于持久化 MySQL 的日志文件。
  10. -v /usr/local/mysql/data:/var/lib/mysql:挂载宿主机的 /usr/local/mysql/data 目录到容器的 /var/lib/mysql 目录,用于持久化 MySQL 的数据文件。
  11. -v /usr/local/mysql/conf:/etc/mysql/conf:挂载宿主机的 /usr/local/mysql/conf 目录到容器的 /etc/mysql/conf 目录,用于持久化 MySQL 的配置文件。
  12. -v /etc/localtime:/etc/localtime:ro:挂载宿主机的 /etc/localtime 文件到容器的 /etc/localtime 文件,用于同步宿主机的时间设置,ro 表示以只读方式挂载。
  13. -d :以分离模式(后台模式)运行容器
  14. mysql 是 Docker Hub 上的官方 MySQL 镜像名称,[:自己指定的版本]为可选项,不包含这个部分默认最新版本。


远程连接MySQL

主机为docker所部署在的虚拟机/服务器的IP地址,密码是mysql服务的密码,端口一般都是默认3306。

相关推荐
喜欢你,还有大家25 分钟前
实战演练——wordpress-k8s集群版
云原生·容器·kubernetes
u***324329 分钟前
【MySQL】数据库和表的操作
数据库·mysql·oracle
好奇的菜鸟34 分钟前
MySQL 8 开启远程登录
数据库·mysql·adb
德育处主任1 小时前
『NAS』轻松获取群晖自带的壁纸
服务器·docker
是2的10次方啊1 小时前
MySQL索引设计原则:明明建了索引为什么还是慢?7条实战原则帮你避坑
mysql
('-')1 小时前
《从根上理解MySQL是怎样运行的》第十二章学习笔记
笔记·学习·mysql
e***87701 小时前
Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用
docker·容器·node.js
深瞳智检2 小时前
学习应用 第001期-Windows 10 用 CMD 安装 MySQL 全流程解析(免安装版)
数据库·windows·mysql·压缩包·环境安装
华纳云IDC服务商2 小时前
MySQL数据库如何防止SQL注入攻击
数据库·sql·mysql
h***59333 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch