【实战】如何在Docker Image中轻松运行MySQL

【实战】如何在Docker Image中轻松运行MySQL - 程序员古德

定义

使用Docker运行MySQL有许多优势。它允许数据库程序和数据分离,增强了数据的安全性和可靠性。Docker Image的轻便性简化了MySQL的部署和迁移,而Docker的资源隔离功能确保了应用程序之间无冲突。结合中间件和容器化系统,Docker为MySQL提供了自动伸缩和容灾能力。此外,版本管理和升级也变得简单易行。对于数据丢失不敏感的业务,数据库分片技术可提高系统吞吐量。

代码案例

【实战】如何在Docker Image中轻松运行MySQL - 程序员古德

第一种方式,适用于通常只想快速拥有一个mysql数据库环境,如下代码:

docker run -d --net=host --name=mysql8-server -e MYSQL_ROOT_PASSWORD=root mysql:8.0.35

其中-e MYSQL_ROOT_PASSWORD指定root账号的密码。

第二种方式,适用于通常只想快速拥有一个mysql数据库环境,但是又不想把root账号给出去,,如下代码:

docker run -d --net=host --name=mysql8-server -e MYSQL_ROOT_PASSWORD=root -e MYSQL_USER=xxx_user -e MYSQL_PASSWORD=xxx_password -e MYSQL_DATABASE=xxx_db  mysql:8.0.35

其中-e MYSQL_ROOT_PASSWORD指定root账号的密码;-e MYSQL_USER=xxx_user指定一个新的用户,-e MYSQL_PASSWORD指定用户的密码,-e MYSQL_DATABASE指定这个新用户可以看到那个数据库。

第三种方式,适用于通常只想快速拥有一个mysql数据库环境,但是又不想把root账号给出去,但是又想指定数据库的一些参数信息,比如,字符集、排序规则等,,如下代码:

docker run -d --net=host --name=mysql8-server -e MYSQL_ROOT_PASSWORD=root -e MYSQL_USER=xxx_user -e MYSQL_PASSWORD=xxx_password -e MYSQL_DATABASE=xxx_db -e TZ=Asia/Shanghai mysql:8.0.35 --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_as_cs 

其中-e MYSQL_ROOT_PASSWORD指定root账号的密码;-e MYSQL_USER=xxx_user指定一个新的用户,-e MYSQL_PASSWORD指定用户的密码,-e MYSQL_DATABASE指定这个新用户可以看到那个数据库;-e TZ=Asia/Shanghai指定数据库时区,--character-set-server=utf8mb4 --collation-server=utf8mb4_0900_as_cs指定字符集和排序规则,注意如果需要指定数据库运行参数信息,则该信息必须得放在image的后面

第四种方式(推荐!推荐!),将数据库运行参数信息放到独立的文件中,比如,在my.cnf文件,在my.cnf文件中除了可以指定字符集、排序规则等参数,还可以在该文件中可以指定更多的参数,甚至可以实现主从、读写分离的配置,如下代码:

docker run -itd \
--net=host \
-v /data/docker/mysql8/data:/var/lib/mysql \
-v /data/docker/mysql8/logs:/var/log/mysql \
-v /data/docker/mysql8/my.cnf:/etc/mysql/conf.d/my.cnf \
-e MYSQL_ROOT_PASSWORD=root \
--privileged=true \
--name mysql8-server \
mysql:8.0.35

my.cnf参考案例

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 服务端口号 默认3306
port=3306
# 允许访问的IP网段
bind-address=0.0.0.0
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 数据库字符集对应一些排序等规则
collation-server = utf8mb4_0900_as_cs

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

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

相关文章

Map集合体系

Map集合的概述 Map集合是一种双列集合,每个元素包含两个数据。 Map集合的每个元素的格式:keyvalue(键值对元素)。 Map集合也被称为“键值对集合”。 Map集合的完整格式:{key1value1 , key2value2 , key3value3 , ...} Map集合的使用场景…

配置自定义RedisTemplate 解决redis序列化java8 LocalDateTime

目录 配置自定义RedisTemplate 引入依赖 配置连接redis 编写测试类 出现问题 配置序列化 解决redis序列化java8 LocalDateTime 问题背景 问题描述 问题分析 解决方案一(全局) 解决方案二(单个字段) 配置自定义RedisTe…

数据可视化分析大屏,大数据统计UI页面源文件(信息分析平台免费PS资料)

数据可视化可以帮助数据分析者更好地理解数据,发现数据中的规律和趋势。通过图表和图形等可视化工具,数据分析者可以更快速地发现数据中的关系,比如相关性、趋势、异常值等。对于普通用户来说,理解复杂的数据可能会很困难。通过数…

页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题

业务场景描述: 在A系统,菜单点击跳B系统这个操作。 A系统菜单是get请求到B系统的一个缓冲页面,然后这个缓冲页面获取到url中的accessToken后,在这个页面中通过post请求后端接口。 问题描述: 当accessToken中包含了…

Selenium4+Python3 - Iframe、Select控件、交互式弹出框、执行JS、Cookie操作

一、iframe操作 iframe识别: 语法: driver.switch_to.frame(‘方式’) 1、常见处理方法三种 index:下标name:id或name属性的值webelement:元素 2、通过下标进入 进入第一个iframe: driver.switch_to.…

本地生活团购外卖怎么做?一招教你轻易入行!

如果说今年生意不好做的话,那么年初做本地生活服务这个赛道的现在是喜忧参半。喜的是在本地生活干团购和外卖把钱给挣上了。忧的是官方清退了所有的全国本地生活服务商。通过官方渠道基本是没的玩了。本来还想着干个三五年。实现车子、房子、票子自由。这计划全落空…

Modbus-ASCII数据帧

Modbus-ASCIl传输模式中,每个字节均以ASCI编码,实际报文中1个字节会以两ASCIl字符发送,因此这种模式比Modbus-RTU模式效率要低。 例如报文数据 x5B "5""B" X35 X42 . 数据帧格式如下: 从ASCI报文帧可以看出&#xff0…

装修听我劝!阳台晾晒区设计4大点。福州中宅装饰,福州装修

亲爱的朋友们,欢迎来到我们的美宅阳台设计课堂!如果你的阳台空间想要做一个晾晒区,那么你需要了解一些布置的技巧。今天,我们将从四个方面向大家介绍如何打造一个舒适、实用的阳台晾晒区。让我们一起来看看吧! 1️⃣ 合…

你真的了解零申报吗?(零申报常见误区解答)

零申报常见误区解答 误区一:不用缴纳税款零申报 问:我公司为增值税小规模纳税人,当月销售收入可以享受小微企业增值税免税的优惠政策,在申报时,是否可以做零申报。 答:不可以。不用缴纳税款≠零申报&#x…

hive企业级调优策略之数据倾斜

测试所用到的数据参考: 原文链接:https://blog.csdn.net/m0_52606060/article/details/135080511 本教程的计算环境为Hive on MR。计算资源的调整主要包括Yarn和MR。 数据倾斜概述 数据倾斜问题,通常是指参与计算的数据分布不均&#xff0…

企业 NAS 升级,如何解决 Windows ACL 权限迁移和配置?

数字化转型是当前时代的必然趋势,它对于企业的创新能力和竞争力的提升至关重要。企业数字化发展过程中会产生大量的非结构化数据,旧有的存储已经不能完全满足企业需求。因此,相应的存储基础设施需要升级换代,以适应新的业务发展。…

【C语言】自定义类型之联合和枚举

目录 1. 前言2. 联合体2.1 联合体类型的声明2.2 联合体的特点2.3 相同成员的结构体和联合体对比2.4 联合体大小的计算2.4 判断当前机器的大小端 3. 枚举3.1 枚举类型的声明3.2 枚举类型的优点3.3 枚举类型的使用 1. 前言 在之前的博客中介绍了自定义类型中的结构体,…

C++用哈希表封装unordered_set和unordered_map

目录 前言 一、修改kv模型为data模型 1.添加MyUnorderedSet.h和MyUnorderedMap.h 2.修改HashNode 3.修改HashTable 二、普通迭代器 三、const迭代器 四、unordered_map重载operator[] 总结 前言 在上一篇文章中,我们手写了一份哈希表&am…

linux操作系统——冯诺依曼体系结构

冯诺依曼体系结构 体系结构有一种是从计算机组成的角度去谈的,还有一种是从芯片架构方面去谈的,下面我们是从我们的计算机组成原理的角度去理解冯诺依曼体系结构的。 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器&a…

网络技术基础与计算思维实验教程_2.2_单交换机实验_重制版

实验内容 实验目的 实验原理 关键命令说明 开始实验 构建 选择交换机 选择终端--台式机 放置四台终端 直通线连接 依次连接pc0到pc3 终端配置Ip地址和子网掩码 完成了交换机和终端连接以后,为每一个终端配置Ip地址和子网掩码 单击pc0 在选择桌面选项卡中选择Ip配置使用程序 …

Lazada商品评论列表API:电商行业的实时反馈宝库

一、引言 在当前的电商行业中,获取实时、准确的用户反馈数据对于电商业务运营至关重要。Lazada是东南亚地区领先的电商平台之一,提供了丰富的API接口,其中包括获取商品评论列表API,以便第三方开发者能够获取Lazada内的商品评论信…

Docker部署 flowable-ui 进行流程建模

Docker部署 flowable-ui 进行流程建模 简介 安装Docker Desktop,本篇无安装步骤安装正常打开运行后,正式开始部署flowable-uicmd执行拉取镜像操作docker pull flowable/flowable-uicmd启动镜像docker run -d --name flowable -p 8081:8080 flowable/flowable-ui修…

Leetcode 134 加油站

题意理解: 给定n个站点,两个数组gas表达每个站点可加的油量,cost表达到下一站点所需耗费的油量。 gas [1,2,3,4,5], cost [3,4,5,1,2] 要求从下表为i的站点开始,刚好能支撑汽车在每个站点转一圈后回到出发位置。 解题思路&#…

route 路由使用记录

一、路由的基本介绍 路由是计算机网络中的一个重要概念,它用于确定数据包从源地址到目的地址的路径。在网络中,路由器是负责转发数据包的设备。 下面是关于路由的基本知识和使用方法的介绍: 路由表:路由器通过路由表来确定数据包…