首页 > 数据库 >Docker部署MySQL8.3.0(保姆级图文教程)

Docker部署MySQL8.3.0(保姆级图文教程)

时间:2024-06-22 15:57:11浏览次数:25  
标签:容器 MySQL8.3 MySQL 镜像 服务器 mysql home Docker 图文

系列文章目录
Docker部署Nginx1.21.5(保姆级图文教程)
Docker部署MySQL8.3.0(保姆级图文教程)


文章目录


一、环境

名称备注
操作命令对象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

2.3 查看MySQL镜像

docker images mysql:8.3.0

三、在宿主机创建目录

3.1 创建挂载目录

后面用于挂载mysql容器内目录,这里就放在home目录下

mkdir -p  /home/mysql/{conf,data,log}

3.2 创建配置文件

cd /home/mysql/conf
vim my.cnf

按键盘i键进行输入

[client]
#设置客户端默认字符集utf8mb4
default-character-set=utf8mb4
[mysql]
#设置服务器默认字符集为utf8mb4
default-character-set=utf8mb4
[mysqld]
#配置服务器的服务号,具备日后需要集群做准备
server-id = 1
#开启MySQL数据库的二进制日志,用于记录用户对数据库的操作SQL语句,具备日后需要集群做准备
log-bin=mysql-bin
#设置清理超过30天的日志,以免日志堆积造过多成服务器内存爆满。2592000秒等于30天的秒数
binlog_expire_logs_seconds = 2592000
#解决MySQL8.0版本GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
#允许最大的连接数
max_connections=1000
# 禁用符号链接以防止各种安全风险
symbolic-links=0
# 设置东八区时区
default-time_zone = '+8:00'

按键盘esc键退出输入,输入:wq保存退出

四、启动MySQL容器

-p表示端口映射
--restart=always表示容器退出时总是重启
--name表示容器命名
--privileged=true表示赋予容器权限修改宿主文件权利
-v /home/mysql/log:/var/log/mysql表示容器日志挂载到宿主机
-v /home/mysql/data:/var/lib/mysql表示容器存储文件挂载到宿主机
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf表示容器配置文件挂载到宿主机
-e MYSQL_ROOT_PASSWORD=a12bCd3_W45pUq6表示设置mysqlroot用户密码,建议用强密码
-d表示后台运行

docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
--privileged=true \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=a12bCd3_W45pUq6 \
-d mysql:8.3.0  

五、测试

使用Navicat进行连接,因为我服务器配置了ssh的密钥连接方式,所以截图多了一个ssh server。

服务器如何生成密钥对,服务器配置公钥,本地配置私钥,Navicat使用ssh隧道连接mysql数据库,可以查看如下2篇文章

服务器生成密钥对、服务器配置公钥、本地配置私钥
Navicat使用ssh隧道连接mysql数据库


常见问题 : 如果连接失败,检查一下连接服务器的ssh密钥是否正确,连接服务器的密码是否正确。检查一下安全组规则,是否有开放3306端口


当看到第6步的小绿点,表示连接成功。

完成ヾ(◍°∇°◍)ノ゙

标签:容器,MySQL8.3,MySQL,镜像,服务器,mysql,home,Docker,图文
From: https://blog.csdn.net/donkor_/article/details/139879575

相关文章

  • Docker构建不同平台架构(x86、arm)镜像
    在Dockerfile同级目录下,image:tag替换成镜像名称和tag:构建x86系统镜像:dockerbuildxbuild-timage:tag--platform=linux/amd64.构建arm镜像:dockerbuildxbuild-timage:tag--platform=linux/arm64.构建完成后查看镜像适用系统架构:dockerinspectimageId注......
  • Docker 主机网络和空网络
    在docker的网络设置有,默认有三种类型的网络,分别是bridge、host和null,如下图所示:     在启动容器时,如果不指定网络参数,则默认使用bridge网络,而另外两种类型的网络则使用的较少,而在本文中,我们将探讨这两种预定义且有些独特的网络类型,即docker主机网络和空网络。主机......
  • 保持docker环境干净
    悬挂镜像首先,我们要学习如何删除悬挂的映像。所谓悬挂的Docker镜像是一种未使用的镜像,与任何标签(tag)的镜像或容器都没有关联。它通常发生在使用与现有镜像相同的标签构建新镜像时。Docker不会删除旧镜像,而是保留它,但会删除标签引用,使镜像没有适当的标签。悬挂镜像不会被任......
  • 【数据结构与算法 刷题系列】判断链表是否有环(图文详解)
                   ......
  • FL Studio怎么破解?FL Studio安装破解使用图文教程
    flstudio是一款功能强大的编曲软件,怎么破解呢?今天小编就为大家带来了详细的安装破解教程,需要的朋友一起看看吧flstudio21.2.3是一款功能强大的编曲软件,也就是众所熟知的水果软件。它可以编曲、剪辑、录音、混音,让您的计算机成为全功能录音室。除此之外,这款软件功能非常强大......
  • docker入门
    前言Docker诞生于2013年,由SolomonHykes在DotCloud公司(后更名为Docker,Inc.)创立。Docker的核心理念是**“Build,Ship,andRunAnywhere”**,即构建、发布、运行应用程序不受环境限制。Docker通过容器化技术,将应用及其所有依赖打包到一个独立的、可移植的单元中,从而实现了......
  • DockerHub镜像无法下载的多种解决方案
    hub.docker.com和国内几家DockerHub镜像服务平台陆续下架,停止服务。给使用的同学造成非常大的困扰。汇总了几种目前有效的解决方案,希望能帮助到大家。因为有些链接有时效性,可以关注文中链接的issue。(2024年6月中旬测试可用)Docker镜像加速站为了加速镜像拉取,使用以下命令设......
  • 迁移与备份、Dockerfile、docker 私有仓库
    【迁移与备份】1#1镜像从哪来的?21dockerpull拉的,远程仓库--》国内镜像站342通过容器打包成镜像5-centos镜像运行成容器---》装了vim6-把装了vim的容器---》打包成镜像7-以后拿到这个镜像--》再运行成容器,都会带......
  • docker文章参考及初步了解
    docker简介:docker是一种轻量级的操作系统虚拟机解决方案。 docker组件由三部分构成:1.docker服务端与客户端:dockers服务端与客户端可以是多对多的关系,但是客户端和服务端进行通信是通过服务端的守护进程,即客户端连接到服务端的守护进程来连接服务端。2.镜像与容器:镜像类似为类......
  • 从 Docker Hub 拉取镜像受阻?试试这些解决方案
    最近一段时间Docker镜像一直是Pull不下来的状态,感觉除了挂......