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

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


文章目录

  • 一、环境
  • 二、拉取镜像
    • 2.1 查找 Docker Hub 上的 MySQL 镜像
    • 2.2 拉取MySQL镜像
    • 2.3 查看MySQL镜像
  • 三、在宿主机创建目录
    • 3.1 创建挂载目录
    • 3.2 创建配置文件
  • 四、启动MySQL容器
  • 五、测试


一、环境

名称备注
操作命令对象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步的小绿点,表示连接成功。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/32304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无痛接入图像生成风格迁移能力:GAN生成对抗网络

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

【一】【算法】经典树状数组和并查集,详细解析,初步认识,【模板】树状数组 1,树状数组并查集

【模板】树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 x x x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n , m n,m n,m,分别表示该数列数字的个数和操作的总个数。 第二…

基于SSM的在线预约导游系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

java: Annotation processing is not supported for module cycles.

java: Annotation processing is not supported for module cycles. 查了半天是造成了循环依赖 解决步骤 1.打开project structure 2.找到循环依赖的两个或多个模块,在dependencies中找到对应的模块并删除 仅记录我遇到这个问题的解决方法,并不适合所…

51-OLED显示代码

文章目录 初始化代码SSD1305初始化代码SSD1315初始化代码(来源于商家赠送) 起动,停止,应答启动停止应答 发送数据和命令发送一个字节发送1字节命令发送1字节数据 设置行列位置设置行起始位置设置列起始位置 屏幕显示相关清屏指数显示字符显示数字显示英文…

七层和四层的区别

OSI七层模型的结构如下: 物理层(Physical Layer):负责传输原始比特流,实现数据在物理媒介上的传输; 数据链路层(Data Link Layer):负责在相邻节点之间传输数据帧&#…

Springboot与RestTemplate

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。 一、使用Get进行访问 1、获取json格式 使用 getForEntity() API 发起 GET 请求: RestTemplate restTemplate…

Git简单使用和理解

workspace: 本地的工作目录。 index/stage:暂存区域,临时保存本地改动。 local repository: 本地仓库,只想最后一次提交HEAD。 remote repository:远程仓库。 对于Git,首先应该明白第一git是一种分布式版本控制系统,最…

后仿真中 module path polarity 问题

目录 一 未知极性 二 正极性 三 负极性 不知道大家有没有遇到这个问题:什么?我们知道的module path delay 指的是定义在specify...endspecify block 中的语句,指示输入-输出的延迟信息。 这里的module path 竟然还有极性问题,今天,来学习一下。 模块路径的极性是一…

FreeBSD服务器监控:核心指标解读与应用建议(Telnet)

随着企业IT环境的日益复杂,对服务器性能和稳定性的监控变得至关重要。特别是针对FreeBSD这类广泛应用的服务器操作系统,进行高效的监控和管理更是运维团队的核心任务。本文将针对监控易中FreeBSD服务器的核心监控指标进行解读,并提供相应的应…

用RNN构建人名分类器

目录 项目综述1.导入必备的工具包2.处理数据,满足训练要求2.1 统计常用的字符2.2 进行规范化处理,去除重音符号2.3 将文件读取到内存中2.4 构建人名国家和具体人名的对应关系2.5 one-hot编码 3.构建RNN模型3.1 构建传统RNN模型3.2 构建传统LSTM模型3.3 构建传统GRU模…

永久免费设备日志采集工具

免费试用下载: Gitee下载 最新版本 优势: A. 开箱即用. 解压直接运行.不需额外安装. B. 批管理设备. 设备配置均在后台管理. C. 无人值守 客户端自启动,自更新. D. 稳定安全. 架构简单,内存占用小,通过授权访问.

openeuler一个服务异常占用cpu的排查过程

1 环境 硬件环境:LS1046A arm64 系统环境:openEuler release 22.03 (LTS-SP1) Linux kernel 4.19.26 2 问题说明 我的硬件平台需要适配一下 openEuler release 22.03 (LTS-SP1) 但是目前只能使用原来硬件平台的内核,在适配的过程中…

LLM大语言模型应用方案之RAG检索增强生成的实现步骤。

0.我理解的RAG 什么是RAG? RAG的全称是“检索增强生成模型”(Retrieval-Augmented Generation)。这是一种特别聪明的大语言模型。 RAG是怎么工作的呢? 1.检索:当你问RAG一个问题时,它会先去“图书…

aardio - 【库】lock 跨进程读写锁

import win.ui; /*DSG{{*/ var winform win.form(text"aardio form";right272;bottom203;topmost1) winform.add( button{cls"button";text"无锁演示";left27;top132;right120;bottom184;z2}; button2{cls"button";text"有锁演示…

正确使用 QSqlDatabase 与 QSqlQuery 的方法

前言 在使用 Qt 的数据库模块时,许多人可能会对 QSqlDatabase 和 QSqlQuery 的使用方法感到困惑。本文将对这一话题进行详细讨论,并提供一些最佳实践。 基本使用示例 首先,让我们看看以下代码片段: {QSqlDatabase db QSqlDat…

Redis的实战常用一、验证码登录(解决session共享问题)(思路、意识)

一、基于session实现登录功能 第一步:发送验证码: 用户在提交手机号后,会校验手机号是否合法: 如果不合法,则要求用户重新输入手机号如果手机号合法,后台此时生成对应的验证码,同时将验证码进行…

前端路线指导(4):前端春招秋招经验分享

春招/秋招经验分享(前端) 哈喽大家好,我是小粉,双一流本科,自学前端一年,收获腾讯,字节等多家大厂offer,一半以上ssp~ 今天给大家分享一下我的春招(暑期实习)、秋招经历,…

【Gradio】如何设置 Gradio 数据框的样式

简介 数据可视化是数据分析和机器学习的关键方面。Gradio DataFrame 组件是一种流行的方式,在网络应用程序中显示表格数据(特别是以 pandas DataFrame 对象的形式)。 本文将探讨 Gradio 的最新增强功能,这些功能允许用户整合 pand…

Linux下静态IP地址的配置

Linux下一切皆文件!必然通过修改配置文件生效! 1.方法1:直接修改网卡配置文件 配置静态IP地址 [rootheima ~]# cd /etc/sysconfig/network-scripts/ [rootheima network-scripts]# ls ifcfg-ens160 [rootheima network-scripts]# cat ifcfg-ens160 TY…