一起学docker系列之八使用 Docker 安装配置 MySQL

目录

  • 前言
  • 步骤 1:拉取 MySQL 镜像
  • 步骤 2:运行 MySQL 容器
  • 步骤 3:检查容器状态
  • 步骤 4:进入 MySQL 容器
  • 步骤 5:配置 MySQL 字符编码
  • 步骤 6:重启 MySQL 容器
  • 步骤 7:测试字符编码
  • 步骤 8:使用外部工具验证

前言

MySQL 是一款广泛应用于各种应用程序的流行开源关系型数据库管理系统。Docker 提供了便捷的容器化方式来安装和管理 MySQL。本指南将带您逐步完成使用 Docker 设置 MySQL 的过程,并解决涉及非英文字符编码的潜在问题,以及各种报错的解决。

在这里插入图片描述

在开始之前,请确保您的机器上已安装 Docker。

步骤 1:拉取 MySQL 镜像

首先,从 Docker Hub 拉取 MySQL 5.7 镜像:

docker pull mysql:5.7

该命令从官方 Docker 仓库获取 MySQL 5.7 镜像。

步骤 2:运行 MySQL 容器

使用以下命令运行 MySQL 容器:

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

各参数解释:

  • -d:以分离模式运行容器。
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口,以便访问 MySQL。
  • --name mysql:为容器分配名称“mysql”,以便更轻松地管理。
  • -e MYSQL_ROOT_PASSWORD=123456:将 MySQL root 用户密码设置为“123456”。

步骤 3:检查容器状态

使用以下命令验证 MySQL 容器是否正在运行:

docker ps

此命令将显示活动容器的列表,包括 MySQL 容器。

步骤 4:进入 MySQL 容器

通过以下命令访问 MySQL 容器的终端:

docker exec -it mysql /bin/bash

此命令允许您与 MySQL 容器的 shell 进行交互。

步骤 5:配置 MySQL 字符编码

默认情况下,MySQL 对于非英文字符可能存在字符编码问题。为解决此问题,为 MySQL 创建一个配置文件。

cd /etc/mysql/conf.d
vim my.cnf

编辑 my.cnf 文件,添加以下配置:

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

这些配置将字符集设置为 utf8mb4,以正确处理非英文字符。

步骤 6:重启 MySQL 容器

重新启动 MySQL 容器以应用新的配置更改:

docker restart mysql

步骤 7:测试字符编码

在 MySQL 容器内部,登录到 MySQL shell:

mysql -uroot -p

创建一个数据库、表并插入包含非英文字符的数据:

create database db01;
use db01;
create table t1(id int, name varchar(20));
insert into t1 values(1, "你好世界");
select * from t1;

这将测试 MySQL 对非英文字符的处理情况。

步骤 8:使用外部工具验证

使用 Navicat 等外部工具连接到 MySQL,验证非英文字符的插入情况,确保正确处理并且没有字符编码问题。

在这里插入图片描述

通过按照这些步骤,您可以使用 Docker 设置 MySQL,并解决涉及非英文字符编码的潜在问题。

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

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

相关文章

2023 年 认证杯 小美赛 ABC题 国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。 cs数模团队在认证杯 小美赛前为大家提供了许多资料的内容呀&am…

GEE:通过将 Landsat 5、7、8、9 的 C02 数据集合并起来,构建 NDVI 长时间序列

作者:CSDN @ _养乐多_ 本文记录了在 Google Earth Engine(GEE)平台上,将 Landsat-5、Landsat-7、Landsat-8 和 Landsat-9 的数据合成为一个影像集合,并生成 NDVI(归一化植被指数)的时间序列的代码。 代码封装成了函数,方便调用,结果如下图所示, 在实际应用中,可能…

【Ambari】HDFS基于Ambari的常规运维

🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&#x1f…

如何找出excel中两列数据中不同的值(IF函数的用法)

第一部分,举例: 例1: 如下图所示,A列和B列是需要比较的数据,C列为对比规则:IF(A2B2,"是","否") 示例图 例2:给B列的成绩评等级 C列的规则: IF(B2>85,&qu…

jvm优化之:OOM(out of memory)内存溢出

内存溢出 注意内存溢出不是内存泄漏!!这里主要是介绍如何用jdk自带的jmap工具导出进程堆空间快照。内存溢出: Out Of Memory,是指申请的堆内存空间不够用了,比如:你申请了10M空间,但是你要放12M…

Maven项目下详细的SSM整合流程

文章目录 🎉SSM整合流程一、两个容器整合✨ 1、先准备好数据库config.properties连接、mybatis-config.xml🎊 2、容器一:优先配置spring.xml文件🎊 3、容器二:配置springMVC.xml文件🎊 4、Tomcat整合spring…

图论——二部图及其算法

什么是二部图 二部图的判定 例子1 任选一个节点染成红色 红色的邻居染成蓝色 蓝色邻居染成红色 例子2 这个不是二部图 无权二部图的最大匹配

【腾讯云云上实验室-向量数据库】用向量数据库——实现高效文本检索功能

文章目录 前言Tencent Cloud VectorDB 简介Tencent Cloud VectorDB 使用实战申请腾讯云向量数据库腾讯云向量数据库使用步骤腾讯云向量数据库实现文本检索 结论和建议 前言 想必各位开发者一定使用过关系型数据库MySQL去存储我们的项目的数据,也有部分人使用过非关…

Python 自动化用处太大了!|python自动整理文件,一键完成!

随着时代的发展及人工智能的到来,Python 自动化办公能力几乎已成为每个岗位的必备技能! 而且到处可见的抖音、朋友圈铺天盖地宣传 Python 可以轻松达到办公自动化,并且学习没门槛,是真的吗? 我很负责的告诉大家&#…

使用 Python 和 NLTK 进行文本摘要

一、说明 文本摘要是一种自然语言处理技术,允许用户将大量文本总结为小块,而不会丢失任何重要信息。本文介绍NLP中使用Gensim和Sumy实现文本摘要的步骤。 二、为什么要总结文本? 互联网包含大量信息,而且每秒都在增加。文本摘要可…

BART - 磁共振重建库 linux系统安装 MATLAB 使用

本文主要介绍如何在linux系统中安装伯克利大学的磁共振重建库BART 和在matlab中的配置使用。 安装必要的库 (linux 命令行) $ sudo apt-get install make gcc libfftw3-dev liblapacke-dev libpng-dev libopenblas-dev 下载编译BART 文件 (官网链接:BART Toolbox) 命令行下…

RPC和HTTP的区别

目录 1、RPC是什么 1.1 概念 1.2 RPC的组成部分 1.3 常见的 RPC 技术和框架 1.4 RPC的工作流程 2、HTTP是什么 2.1 概念 2.2 HTTP的消息格式 2.3 HTTP响应状态码有哪些 3、⭐RPC和HTTP的区别 小结 1、RPC是什么 1.1 概念 RPC(Remote Procedure Call&am…

『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程

『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程 1 Postman工具简介2 Postman安装3 Postman界面说明4 一个简单请求4.1 请求示例4.2 请求过程 5 Postman其他操作5.1 import5.2 History5.3 Environment5.4 Global5.5 其他变…

RK3399 板子烧录Armbian

本来不想写在CSDN这里的。帮有需要的同学了吧。 板子上面标记型号为: GC18-108-RK3399-V2.0TEAN E120339 94V-OML1没有HDMI接口(我也是汗,买的时候注意到,坑了),配置信息。 CPU : RK3399RAMROM: 4G16G无…

NX二次开发UF_CURVE_ask_combine_curves 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_combine_curves Defined in: uf_curve.h int UF_CURVE_ask_combine_curves(tag_t combine_curve_feature, tag_t * first_curve_tag, UF_CURVE_combine_curves_directi…

前车之鉴: 适用于所有select选择框的 全选反选逻辑,如何只用单个change事件优雅完成

文章目录 实际效果1.1 效果展示1.2 核心功能 Show CodeQ & A彩蛋 实际效果 1.1 效果展示 1.2 核心功能 区别网上其他思路,我这里不需要使用原生点击事件,将全选反选逻辑收敛在一个change事件上 此前已经看过一些全选逻辑同学尝试过后,会…

武汉数字孪生赋能工业制造,加速推进制造业数字化转型

随着数字孪生技术的不断推进,互联网、物联网、智能传感技术开始应用到数控机床的远程服务,状态监控,故障诊断,维护管理等方面。武汉数字孪生是在虚拟空间中创建物理对象的高保真虚拟模型,以模拟其在现实世界中的行为提…

【网络】传输层 --- 详解TCP协议

目录 一、协议段格式及其策略确认应答(ACK)机制6个标志位超时重传流量控制滑动窗口1、先谈滑动窗口一般情况2、再谈特殊窗口 拥塞控制拥塞窗口 延迟应答&&捎带应答面向字节流粘包问题 二、三次握手和四次挥手三次握手为什么是3次?不是2、4、5、6次呢 四次挥…

2023.11.25-电商项目建设业务学习1-指标,业务流程,核销

目录 1.指标分类(原子指标,派生指标,衍生指标) 2.一些业务名词 3.四大业务流程-销售需求 3.1-线上线下销售 3.2线上线下退款 4.四大业务流程-会员业务 5.四大业务流程-供应链业务 6.四大业务流程-商城业务 7.核销主题需求分析 1.指标分类(原子指标,派生指标,衍生指标) 原…

C++类与对象(上)

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生🐻‍❄个人主页🎉:GOTXX🐼个人WeChat:ILXOXVJE🐼本文由GOTXX原创,首发CSDN&am…