使用docker compose一键部署MySQL服务

embedded/2024/12/22 7:19:05/

docker_composeMySQL_0">使用docker compose一键部署MySQL服务

1、创建安装目录

mkdir /data/mysql5.7/  -p && cd /data/mysql5.7

dockercomposeyml_6">2、创建docker-compose.yml文件

version: '3'
services:mysql: 							# 名称image: mysql:5.7 				# mysql镜像版本container_name: mysql5.7 		# 容器名称ports:- 3306:3306 					# 指定宿主机端口与容器端口映射关系,宿主机:容器  restart: always 				# 表示容器随docker启动自启  environment:LANG: en_US.UTF-8 			# 设置语言MYSQL_USER: xiaopang 			# 自定义创建的用户MYSQL_PASSWORD: xiaopang123 	# 自定义创建的用户的密码MYSQL_DATABASE: xiaopangpang 	# 自定义创建的库MYSQL_ROOT_PASSWORD: 123456 	# root用户密码volumes:- /etc/localtime:/etc/localtime:ro 	# 同步宿主机时钟与容器的时钟,ro(read only),表示只读。- ./mysql/data:/var/lib/mysql			# 映射数据目录- ./mysql/my.cnf:/etc/my.cnf			# 映射日志目录

mysql_28">3、创建自定义的mysql配置文件

cat >/data/mysql5.7/mysql/my1.cnf<<-'EOF'
[mysqld]
# MySQL启动用户
user=mysql# MySQL端口
port = 3306# 创建新表时将使用的默认存储引擎                     
default-storage-engine=INNODB # 设置mysql服务端默认字符集
character-set-server=utf8mb4 # pid文件所在目录  
#pid-file = /var/run/mysqld/mysqld.pid 
pid-file = /var/lib/mysql/mysql.pid # 用于本地连接的socket文件目录
#socket = /var/run/mysqld/mysqld.sock 
socket = /var/lib/mysql/mysql.sock # 数据文件存放的目录
datadir = /var/lib/mysql # 错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启
log-error=/var/log/mysql/error.log	# 通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的
general_log=ON
general_log_file=/var/log/mysql/general.log # 慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以用来查找查询执行时间长的语句,以便于优化,默认是关闭的
slow_query_log=ON
slow_query_log_file=/var/log/mysql/slow_query.log#设置超过5秒执行的语句被记录,缺省时为10秒
long_query_time=5												# Disabling symbolic-links is recommended to prevent assorted security risks#禁用符号链接以防止各种安全风险
symbolic-links=0# 定义sql模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION # 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
max_allowed_packet=16M# 允许最大连接数
max_connections=1000# 缓存池大小
# innodb_buffer_pool_size = 12G# 缓存池实例个数
# innodb_buffer_pool_instances = 10# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true[mysql]
# 设置默认字符集
default-character-set=utf8mb4[client]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
EOF

4、查看目录结构

tree /data/mysql5.7/

在这里插入图片描述

docker_compose_108">5、启动docker compose

docker compose up -d

在这里插入图片描述

6、查看进程

docker compose ps

在这里插入图片描述

7、命令行连接测试

docker compose exec mysql /bin/bash

在这里插入图片描述

8、使用root登录查看库和权限

在这里插入图片描述

9、使用navicat工具连接测试

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/embedded/97641.html

相关文章

使用html+css+js实现完整的登录注册页面

在这篇博客中&#xff0c;我们将讨论如何使用简单的 HTML 和 CSS 构建一个登录与注册页面。这个页面包含两个主要部分&#xff1a;登录界面和注册界面。我们还会展示如何通过 JavaScript 切换这两个部分的显示状态。 页面结构 我们将创建一个页面&#xff0c;其中包含两个主要…

打造智能工厂:基于嵌入式 C++、Qt/QML 和 MQTT 的车间设备远程监控系统(代码示例)

一、项目概述 项目目标和用途 本项目旨在开发一个车间设备远程监控系统&#xff0c;结合传感器和PLC&#xff0c;实现对车间内各类设备的实时状态监测。通过RS-485通信和MQTT协议进行数据传输&#xff0c;将设备状态数据上传至云端进行存储与分析。该系统将为工厂提供及时的设…

HTTP 之 五类状态码(四)

HTTP/1.1 定义了五类状态码&#xff0c;每类都有一个数字范围。 1xx&#xff08;信息性状态码&#xff09; 100 Continue&#xff1a;指示客户端可以继续其请求。&#xff08;常见状态码&#xff09; 101 Switching Protocols&#xff1a;服务器根据客户端的请求切换到不同的协…

SpringBoot开启多端口探究--开启gRPC端口

文章目录 前情提要一、gRPC的特别之处二、粗暴方案原始的GrpcObservabilityServer集成支持方案评价 三、改进方案基本原理改造结果 四、小结 前情提要 之前咱们聊过SpringBoot下开启多端口有3个思路&#xff0c;并分析了第一种开启独立management端口的实现细节&#xff0c;今…

MyBatis-Plus:简化CRUD操作,提升开发效率的利器

在Java开发领域&#xff0c;数据库操作是不可或缺的一部分。随着技术的不断发展&#xff0c;各种ORM&#xff08;Object-Relational Mapping&#xff09;框架应运而生&#xff0c;旨在简化数据库操作&#xff0c;提高开发效率。其中&#xff0c;MyBatis-Plus作为MyBatis的增强工…

数据结构——单链表

目录 引言 什么是链表 链表的分类 1.单向链表和双向链表 (1)单向链表 (2)双向链表 2.带头结点链表和不带头结点链表 (1)带头结点链表 (2)不带头结点链表 3.循环链表和不循环链表 (1)循环链表 (2)不循环链表 单链表的功能 单链表的定义 单链表功能实现 1.打印单…

【密码学】密钥管理:②密钥分配

一、密钥分配的定义 密钥分配是密钥管理生命周期中最重要的部分&#xff0c;密钥分配方案研究的是密码系统中密钥的分发和传送问题。从本质上讲&#xff0c;密钥分配为通信双方建立用于信息加密、解密签名等操作的密钥&#xff0c;以实现保密通信或认证签名等。 &#xff08;1…

django之BaseSerializer

BaseSerializer 是 Django REST framework (DRF) 中的一个核心类&#xff0c;用于将复杂的数据类型&#xff08;如查询集和模型实例&#xff09;转换为 Python 数据类型&#xff0c;以便于渲染成 JSON、XML 或其他内容类型。BaseSerializer 是所有序列化器的基类&#xff0c;提…