docker部署容器化mysql5.7

部署MySQL

本教程将指导您如何在Docker环境中部署MySQL数据库,并展示如何通过外部MySQL客户端与之交互。

步骤 1: 准备环境

首先,我们需要在本地环境中创建必要的文件夹结构来存储MySQL的配置、日志和数据。

# 在终端创建mysql文件夹及其子文件夹
mkdir -p mysql/{conf,logs,data}# 创建配置文件 my.cnf,内容在下文中
cd mysql/conf
vim my.cnf
步骤 2: 获取MySQL镜像

使用Docker搜索并拉取MySQL镜像:

# 搜索mysql镜像
docker search mysql# 拉取mysql 5.7版本的镜像
docker pull mysql:5.7
步骤 3: 部署MySQL容器

运行以下命令来创建并启动MySQL容器,同时设置端口映射和目录映射:

# 创建并启动mysql容器
docker run -id \
-p 3306:3306 \
--name=mysql57 \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD='your_password' \
mysql:5.7
详解端口和目录映射:
  • $PWD:当前工作目录,此变量会解析为所在目录的绝对路径。
  • -p 3306:3306:将容器的3306端口映射到宿主机的3306端口。
  • -v 参数:用于目录映射,确保容器内部数据的持久化。
    • $PWD/conf:/etc/mysql/conf.d:映射 conf 目录。
    • $PWD/logs:/logs:映射 logs 目录。
    • $PWD/data:/var/lib/mysql:映射 data 目录。
  • -e MYSQL_ROOT_PASSWORD:设置MySQL的root用户密码。
步骤 4: 访问MySQL容器

使用Docker命令进入容器内部,并通过MySQL命令行工具进行操作:

# 登录MySQL容器
docker exec -it mysql57 bash# 连接MySQL数据库
mysql -uroot -p'your_password'
外部访问容器内的MySQL

由于容器内的网络服务默认与外部环境隔离,我们通过端口映射来实现外部访问。

  • 宿主机和容器间的通信通过映射端口实现。
  • 访问宿主机的3306端口即相当于访问容器内部的MySQL服务。
配置文件 my.cnf

conf 文件夹中创建 my.cnf 配置文件,内容如下:

[mysqld]sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'# skip-grant-tablesevent_scheduler = 1bind-address=0.0.0.0port=3306user=mysqlbasedir=/usr/local/mysqldatadir=/var/lib/mysqlsocket=/tmp/mysql.sockcharacter_set_server=utf8mb4collation-server=utf8mb4_unicode_ciexplicit_defaults_for_timestamp=truelower_case_table_names=1# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Settings user and group are ignored when systemd is used.# If you need to run mysqld under a different user or group,# customize your systemd unit file for mariadb according to the# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]log-error=/data/mysql/mysql.errpid-file=/data/mysql/mysql.pid## include all files from the config directory#!includedir /etc/my.cnf.d

确保配置文件中的路径和设置与您的环境相匹配。
有任何问题欢迎私信我或者加我的联系方式,我会很乐于交流!

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

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

相关文章

微信小程序漏洞之accesskey泄露

更新时间:2023年09月08日09:42:52 1. Accesskey泄露漏洞 这篇文章里面都是以我个人的视角来进行的,因为一些原因,中间删了一些东西,肯定有很多不正确的地方,希望大家能理解,也能指正其中的错误。 在以前…

VCR库代码示例

1. 首先,我们需要在代码中添加对VCR库的引用: ruby require vcr require rest-client 2. 然后,我们需要创建一个VCR录制器,以便我们可以记录实际的HTTP请求和响应: ruby VCR.use_cassette(download_video, record:…

虚拟机CentOS 8 重启后不能上网

情况说明:原本虚拟机是可以上网的,然后嘚一下,重启后,连接不上网络,完了,上网查找一堆质料,我的连接方式是桥接模式(复制物理网络连接状态)。 好,有人说是vmn…

@Validated和@Valid 区别

Spring Validation验证框架对参数的验证机制提供了Validated(Spring’s JSR-303规范,是标准JSR-303的一个变种),javax提供了Valid(标准JSR-303规范), 配合BindingResult可以直接提供参数验证结…

通配符SSL证书

通配符SSL证书是一种特殊的数字证书,用于在互联网上建立安全的连接,其特点是可以保护多个子域名,并且具有很高的兼容性和扩展性。本文将详细介绍通配符SSL证书的相关概念、优点和应用等。 首先,我们需要了解什么是SSL证书。 SSL证…

未整理的知识链接

【scala】下划线用法总结 【scala】下划线用法总结_scala 下划线-CSDN博客 Spark Sql Row 的解析 Spark Sql Row 的解析 - 简书 spark dataframe foreach spark dataframe foreach_mob64ca12f0cf8f的技术博客_51CTO博客 spark- Dataframe基本操作-查询 https://blog.csdn.n…

Spring 循环依赖

文章目录 内容总结循环依赖循环依赖的解决方案设计模拟循环依赖解决循环依赖的关键 缓存仍然存在问题 代理 解决代理问题的关键 提前AOP仍然存在问题 AOP全部提前与Bean创建流程设计严重不符 解决违背设计问题的关键 尽量提前而非全部提前仍然存在问题 多重循环 内容总结 循环…

33、Flink 的Table API 和 SQL 中的时区

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

MATLAB Simulink和SMART PLC水箱液位高度PID控制(联合仿真)

SMART PLC 向导PID的详细介绍请查看下面文章链接: S7-200 SMART PLC PID向导详细介绍(如何实现P、PD、PID控制器)-CSDN博客文章浏览阅读1k次。这篇博客主要介绍SMART PLC PID向导的使用,PID控制相关的其它内容请查看专栏系列文章,常用链接如下:SMART PLC PID负压控制(过程…

海外ASO优化之谷歌商店的评论优化

应用商店中的评分和评论,显示我们的应用程序的受欢迎程度以及用户对该应用程序的看法。评分和评论是以前或者是现在的用户分享的经验和公开的反馈。 1、提高应用评分评论。 高评分的应用可以从应用商店内的搜索流量中获得更多的点击量,通过推荐和推荐获…

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…

Python开源项目VQFR——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

Python Anaconda 的安装等请参阅: Python开源项目CodeFormer——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践https://blog.csdn.net/beijinghorn/article/details/134334021 VQFR也是 腾讯 LAB 的作品&…

【uniapp】确认弹出框,选择确定和取消

代码如下&#xff1a; <view style"display: flex; justify-content: space-around;"><button class"button" click"submit">t提交</button> </view>submit(){let thatthisuni.showModal({title: 提示&#xff1a;,con…

NSS [HUBUCTF 2022 新生赛]checkin

NSS [HUBUCTF 2022 新生赛]checkin 判断条件是if ($data_unserialize[username]$username&&$data_unserialize[password]$password)&#xff0c;满足则给我们flag。正常思路来说&#xff0c;我们要使序列化传入的username和password等于代码中的两个同名变量&#xff0…

【工程部署】在RK3588上部署OCR(文字检测识别)(DBNet+CRNN)

硬件平台&#xff1a; 1、firefly安装Ubuntu系统的RK3588&#xff1b; 2、安装Windows系统的电脑一台&#xff0c;其上安装Ubuntu18.04系统虚拟机。 参考手册&#xff1a;《00-Rockchip_RKNPU_User_Guide_RKNN_API_V1.3.0_CN》 《RKNN Toolkit Lite2 用户使用指南》 1、文…

mapreduce-maven--30.串联所有单词的字串

项目对象模型&#xff08;Project Object Model&#xff0c;POM&#xff09;&#xff1a;Maven使用POM文件来描述项目的结构、依赖和构建设置。POM是一个XML文件&#xff0c;位于项目根目录下&#xff0c;并包含项目的基本信息、构建设置、依赖管理等。 依赖管理&#xff1a;M…

Unity DOTS系列之System中如何使用SystemAPI.Query迭代数据

最近DOTS发布了正式的版本, 我们来分享一下System中如何基于SystemAPI.Query来迭代World中的数据&#xff0c;方便大家上手学习掌握Unity DOTS开发。 SystemAPI.Query的使用 System有两种&#xff0c;一种是Unmanaged 的ISystem,一种是managed 的SystemBase,这两种System都可…

LeetCode106. Construct Binary Tree from Inorder and Postorder Traversal

文章目录 一、题目二、题解 一、题目 Given two integer arrays inorder and postorder where inorder is the inorder traversal of a binary tree and postorder is the postorder traversal of the same tree, construct and return the binary tree. Example 1: Input: …

段的概念_重定位的引入

段的概念 代码段、只读数据段、可读可写数据段、BSS段。 char g_Char A; //可读可写&#xff0c;不能放在ROM上&#xff0c;应该放在RAM里 const char g_Char2 B; //只读变量&#xff0c;可以放在ROM上 int g_A 0; //初始值为0&#xff0c;没有必要浪费空间 int g_B; //没…

力扣-66. 加一

文章目录 解题思路代码 解题思路 根据题目可以得出此题一共有3种需要特殊判断的地方。1.数组元素的最后一个元素是否为9&#xff0c;如果是那就将此处元素置0&#xff0c;如果不是那就此处元素加1。按照这个逻辑将digits数组重新赋值。2.判断重新赋值的digits数组的首元素是否…