Docker部署MySQL 8.3.0(保姆级图文教程)

系列文章目录
Docker部署Nginx 1.21.5(保姆级图文教程)
Docker部署MySQL 8.3.0(保姆级图文教程)
Docker部署ETCD 3.5.14(保姆级图文教程)
Docker部署Kafka 3.5.14(保姆级图文教程)



一、环境

名称 备注
操作命令对象 Docker 版本26.1.3
远程操作系统 CentOS 7.9 64位
远程管理工具 FinalShell 版本4.3.11
安装软件名称 MySQL 版本8.3.0

二、拉取镜像

2.1 查找 Docker Hub 上的 MySQL 镜像

docker search mysql

2.2 拉取MySQL镜像

由于我本地用的是8.3.0的,所以服务器也拉取tag8.3.0的版本

docker pull mysql:8.3.0

### 如何使用 Docker 部署 MySQL 8.3.0 #### 准备工作 确保已安装并配置好 Docker 环境,版本应不低于26.1.3,在 CentOS 7.9 64位上操作,并通过 FinalShell 版本4.3.11 进行远程管理[^1]。 #### 获取 MySQL 官方镜像 为了获取最新的 MySQL 8.3.0 的官方镜像,可以执行如下命令来搜索可用的 MySQL 镜像: ```bash docker search mysql ``` 这一步骤有助于确认所需的具体标签(tag),从而精确拉取目标版本的镜像文件。 #### 创建并启动容器 当找到合适的镜像之后,可以通过 `docker pull` 命令下载指定版本的 MySQL 镜像。接着利用下面这条复杂的 `docker run` 指令创建一个新的容器实例,同时设置必要的参数以确保服务正常运作以及数据的安全性和持久化存储特性: ```bash docker run \ -p 3380:3306 \ --name=mysql80 \ --privileged=true \ --restart=always \ -v /dev_data/mysql80/logs:/logs \ -v /dev_data/mysql80/data:/var/lib/mysql \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD="Asd&123789456" \ -d mysql:8.3.0 ``` 上述指令中的 `-p` 参数用于映射主机端口到容器内部的服务监听端口;而多个 `-v` 参数则分别指定了不同类型的卷挂载路径,实现了日志记录、数据库文件夹及时间同步等功能;最后通过 `-e` 设置环境变量定义 root 用户密码,保证初次登录安全性的同时也便于后续管理和维护[^2]。 #### 解决远程连接问题 如果遇到无法从外部访问新部署好的 MySQL 实例的情况,则可能是由于认证方式不兼容所引起的。此时可尝试进入正在运行的 MySQL 容器内修改默认的身份验证插件为更广泛的 `mysql_native_password` 方法之一种形式: ```sql ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '@ROOT123'; FLUSH PRIVILEGES; ``` 此更改允许来自任何 IP 地址(即 `%` 表示任意地址)下的客户端能够成功建立与服务器之间的安全会话链接[^3]。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值