Centos环境 使用docker 部署MySQL 8.X详细版本

文章目录

  • 安装docker
  • 配置docker 阿里镜像加速
    • 阿里云容器镜像服务ACR
    • 配置镜像源
  • 安装部署MySQL
    • 拉取MySQL镜像
    • 创建挂载文件
    • 测试部署
      • 部署MySQL
      • 进入容器将它的mysql配置同步给宿主机
      • 删除test1测试容器
    • 正式部署MySQL
      • 查看正式部署的容器状态
      • 配置远程连接
      • 字符集以及关闭跳过密码验证等其他配置
      • 同步宿主机的cnf文件给容器
      • 重启MySQL容器
    • 测试远程连接

安装docker

快速部署Docker

配置docker 阿里镜像加速

阿里云容器镜像服务ACR

在这里插入图片描述

配置镜像源

在这里插入图片描述
在上方选择自己的系统版本,我使用的CentOS 然后将下面
在这里插入图片描述
执行命令逐一复制到你的服务器上面运行即可

安装部署MySQL

拉取MySQL镜像

我这里使用的是mysql:8.0.21版本,如果有版本要求,就按照你自己的版本要求

docker pull mysql:8.0.21

查看一下镜像包

docker images

在这里插入图片描述

创建挂载文件

在docker中宿主和容器之间可以通过挂载文件夹或者文件的形式实现容器和宿主的配置统一

mkdir /docker/mysql/conf
mkdir /docker/mysql/logs
mkdir /docker/mysql/data

测试部署

这里为啥叫测试部署,就是我们先启动一个测试,主要是我们需要MySQL的一些配置文件,与其我们自己从网站瞎吉儿找,还不如用它自己,改吧改吧就OK了

部署MySQL

docker run -p 3306:3306 --name test1 -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0.21

进入容器将它的mysql配置同步给宿主机

# 前面是容器的目录
# 后面是宿主机的目录(也就是上面创建挂载目录)
docker cp  test1:/etc/mysql /docker/mysql/conf

# 拷贝完成后,我们看一下
cd /dockers/mysql/conf/mysql/conf.d

在这里插入图片描述
这个.cnf 文件就是我们需要的,MySQL很多配置都是在这里配置的

删除test1测试容器

目的已经达到了,这个test1容器已经不需要了

# 先停止容器
docker stop test1
# 再删除容器,主意执行顺序
docker rm test1

正式部署MySQL

执行命令

docker run  -itd  -p 13306:3306 --name MySQL13306 -e character-set-server=utf8mb4 --privileged=true  --restart unless-stopped  -v /dockers/mysql/conf/mysql:/etc/mysql  -v /dockers/mysql/logs:/logs  -v /dockers/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime  -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0.21 --lower_case_table_names=1

命令解释

  • -p 13306:3306 将容器的3306端口映射到宿主机端口13306
  • –name 容器的名称,我这里叫MySQL13306 ,这个可以自定义
  • –privileged=true 挂载文件权限设置
  • –restart unless-stopped 设置 开机后自动重启容器
  • -v /dockers/mysql/conf/mysql:/etc/mysql 挂载配置文件
  • -v /dockers/mysql/logs:/logs \ 挂载日志
  • -v /dockers/mysql/data:/var/lib/mysql \ 挂载数据文件 持久化到主机,
  • -v /etc/localtime:/etc/localtime 容器时间与宿主机同步
  • -e MYSQL_ROOT_PASSWORD=123456 设置密码
  • -d mysql:8.0.21 启动的镜像(这里注意一定要和pull下来的版本是一致的)

查看正式部署的容器状态

docker ps -a

在这里插入图片描述

配置远程连接

你也可以使用root连接,但是不推荐

# 进入容器
docker exec -it MySQL13306 /bin/bash

# 登录MySQL,密码就是你启动容器里面设置的密码
mysql -uroot -p

# 切换到mysql库下面
use mysql;

# 创建远程连接用户
CREATE USER 'remote_user_1'@'%' IDENTIFIED BY 'Changeme_123';

# 对远程用户进行授权
GRANT ALL ON *.* TO 'remote_user_1'@'%';

# 刷新权限
FLUSH PRIVILEGES;

# 退出mysql 控制台
exit;

# 退出容器
ctrl+P+Q

字符集以及关闭跳过密码验证等其他配置

注意这里是你的宿主机服务器了,不是容器里面了

vim /dockers/mysql/conf/mysql/conf.d/mysql.cnf

将如下内容复制到到这个cnf文件中,注意[mysql]这个先删除后覆盖替换
文件上面的注释内容你可以不用看了,看了还要百度翻译贼麻烦

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 跳过密码登录
# #skip-grant-tables
# #bind-address = 127.0.0.1
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
lower_case_table_names=1

同步宿主机的cnf文件给容器

docker cp /dockers/mysql/conf/mysql/conf.d/mysql.cnf MySQL13306 :/etc/mysql/conf.d

重启MySQL容器

docker restart MySQL13306 

测试远程连接

在这里插入图片描述
打完收工!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32C8T6的智能小车项目时钟配置

一、时钟树简介 HSE 是高速的外部时钟信号,可以由有源晶振或者无源晶振提供,频率从 3-25MHZ 不等。当使用有源晶振时,时钟从 OSC_IN 引脚进入,OSC_OUT 引脚悬空,当选用无源 晶振时,时钟从 OSC_IN 和 OSC_OU…

【工作中遇到的性能优化问题】

项目场景: 页面左侧有一列表数据,点击列表项会查对应的表格数据和表单信息(表单是根据数据配置生成的),并在右侧展示。如果数据量大,则非常卡。 需要对此页面进行优化。 问题描述 问题一、加载左侧数据时…

spring boot+easyui粮油质量管控防伪溯源系统源码

基于物联网技术、RFID技术和RSA、PGP加密算法开发的粮油质量追溯系统 粮油安全关系千千万万消费者的健康问题。近年来,许多食品行业安全事故频频涌现,成为社会关注焦点。粮油生产加工质量管控防伪溯源系统为粮油提供从种植、生产、加工、销售等各环节的…

L9110S电机驱动模块demo

0.资料 项目工程文件夹 分文件原理 1.认识L9110S 1、概述: 一个L9110S驱动可以控制一个电机,图中左右两个黑色芯片就是L9110S驱动。当然如果会硬件也可以直接把它们设计到单片机开发板上。 一个电机由两个针脚控制,我们用杜邦线让L9110S…

Modbus通信介绍 网络高级工具使用

目录 Modbus简介 ModbusTCP协议格式 》1.报文头(共7字节) 》2.功能码 》3.数据 练习:读传感器数据,读1个寄存器数据,写出主从数据收发协议。 练习:写出控制IO设备开关的协议数据,操作1个…

【2】Midjourney注册

随着AI技术的问世,2023年可以说是AI爆炸性成长的一年,近期最广为人知的AI服务除了chatgpt外,就是从去年五月就已经问世的AI绘画工具mid journey了。 ▲几个AI工具也代表了人工智能的热门阶段 只要输入一段文字,AI就会根据语意计算…

JAVA如何学习爬虫呢?

学习Java爬虫需要掌握以下几个方面: Java基础知识:包括Java语法、面向对象编程、集合框架等。 网络编程:了解HTTP协议、Socket编程等。 HTML、CSS、JavaScript基础:了解网页的基本结构和样式,以及JavaScript的基本语…

Web网页制作期末复习(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接

目录 HTML5介绍 HTML5的DOCTYPE声明 HTML基本骨架 标题标签 段落、换行、水平线 图片 图片路径* 超链接 HTML5介绍 HTML5是用来描述网页的一种语言,被称为超文本标记语言。用HTML5编写的文件,后缀以.html结尾 HTML是一种标记语言,标…

基于机器学习算法:朴素贝叶斯和SVM 分类-垃圾邮件识别分类系统(含Python工程全源码)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境安装pytesseract注册百度云账号 模块实现1. 数据模块2. 模型构建3. 附加功能 系统测试1. 文字邮件测试准确率2. 网页测试结果 工程源代码下载其它资料下载 前言 本项目采用朴素贝叶斯和支持向量机(S…

MySQL-SQL视图详细

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

原型模式(七)

不管怎么样,都要继续充满着希望 上一章简单介绍了抽象工厂模式(六), 如果没有看过,请观看上一章 一. 原型模式 引用 菜鸟教程里面的原型模式介绍: https://www.runoob.com/design-pattern/prototype-pattern.html 原型模式(Prototype Pattern&#xf…

Camera | 11.瑞芯微摄像头采集图像颜色偏绿解决笔记

前言 在实际调试基于瑞芯微平台的camera过程中,发现显示的图片发绿, 现在把调试步骤分享给大家: 1、修改iq文件 sdk中位置: external/camera_engine_rkaiq/iqfiles/isp21/ov13850_ZC-OV13850R2A-V1_Largan-50064B31.xml【现在…

QT基础教程之一创建Qt项目

QT基础教程1创建Qt项目 根据模板创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application 选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,…

javaScript蓝桥杯---用什么来做计算

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 古以算盘作为计算工具。算盘常为木制矩框,内嵌珠子数串,定位拨珠,可做加减乘除等运算。站在前人的肩膀上,后人研究出计算器,便利了大家的生活,我…

element-plus布局排版问题总结(更新ing)

文章目录 el-container空隙修改app组件 el-header容器空隙检查前端修改el-headerel-container el-container空隙 源码-更改了容器的显示&#xff0c;占满屏幕 <template><div class"common-layout"><el-container><el-header><el-row cl…

SpeechGen:用提示解锁语音语言模型(Speech LM)的生成能力

论文链接&#xff1a; https://arxiv.org/pdf/2306.02207.pdf Demo: https://ga642381.github.io/SpeechPrompt/speechgen.html Code: https://github.com/ga642381/SpeechGen 引言与动机 大型语言模型 &#xff08;LLMs&#xff09;在人工智能生成内容&#xff08;AIGC…

微服务技术简介

微服务技术简介 服务架构的演变微服务架构的常见概念微服务常见的解决方案Spring CloudSpring Cloud Alibaba微服务技术对比常用的微服务组件 微服务架构图 服务架构的演变 单体架构&#xff1a;当一个系统业务量很小的时候&#xff0c;将业务的所有功能集中在一个项目中开发&…

STM32速成笔记—串口通信

文章目录 一、什么是串口通讯二、串口通讯有什么用三、STM32的串口通信四、串口通信相关概念4.1 波特率4.2 全双工和半双工4.3 同步通信和异步通信 五、硬件连接六、串口通讯程序配置6.1 使能串口时钟和GPIO时钟6.2 初始化GPIO6.3 初始化串口参数6.4 使能串口6.5 串口接收中断6…

用python写网络爬虫

第二章 数据抓取 首先 &#xff0c; 我们会介绍一个叫 做Firebug Lite 的浏览器扩展&#xff0c; 用 于检查网页 内容 &#xff0c; 如 果你有一些网络开发背景的话&#xff0c; 可能 己经对该扩展十分熟悉 了 。 然后 &#xff0c;我们会介绍三 种抽取网 页数据的 方法 &…

java【抽象类与接口】

抽象类与接口 1 抽象类1.1 定义与使用1.2 抽象类和抽象方法使用原则 2 接口2.1 定义2.2 使用规则 3. JDK中内置接口3.1 Comparable接口3.2 Cloneable接口 抽象类与接口的对比 前言&#xff1a;如果强制要求子类必须覆写一些方法&#xff0c;则就会用到抽象类和抽象方法 1 抽象类…
最新文章