1.拉取镜像

# 拉取指定版本的MySQL镜像
docker pull mysql:8.0

2.创建挂载目录

# 自己创建好如下三个文件夹 路径任意
[root@iZuf6aigs7rxe6f6oifq7vZ mysql]# ll
总用量 12
drwxr-xr-x 2 root root 4096 7月   7 10:25 config
drwxr-xr-x 2 root root 4096 6月  26 16:43 data
drwxr-xr-x 2 root root 4096 6月  26 17:15 log

3.创建配置文件my.cnf

[client]
# 客户端默认字符集
default-character-set=utf8mb4
[mysql]
# 设置服务器默认字符集
default-character-set=utf8mb4
# 设置校验规则
collation-server=utf8mb4_general_ci
# 连接字符集
init_connect = 'SET NAMES utf8mb4'[mysqld]
server-id = 1
port = 3306
default-storage-engine = InnoDB
# 允许最大的连接数
max_connections=1000
# 解决8.0版本 GROUP BY问题
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
# 设置东八区时区
default-time_zone = '+8:00'# 最大错误连接数(达到后阻止主机连接)
max_connect_errors = 100
#  连接超时时间(秒)
connect_timeout = 60

更多可选配置

[client]
# 客户端默认字符集
default-character-set = utf8mb4[mysql]
# MySQL命令行客户端默认字符集
default-character-set = utf8mb4[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 服务器唯一ID(主从复制时需要)
server-id = 1
# 服务端口
port = 3306
# 数据目录
datadir = /var/lib/mysql
# socket文件位置
socket = /var/run/mysqld/mysqld.sock
# 错误日志位置
log-error = /var/log/mysql/error.log
# 进程ID文件位置
pid-file = /var/run/mysqld/mysqld.pid
# 默认存储引擎
default-storage-engine = InnoDB
# 默认认证插件(兼容旧版客户端)
default_authentication_plugin = mysql_native_password
# 跳过名称解析(提高连接速度)
skip-name-resolve### 字符集设置 ###
# 服务器默认字符集
character-set-server = utf8mb4
# 服务器默认排序规则
collation-server = utf8mb4_0900_ai_ci
# 连接字符集
init_connect = 'SET NAMES utf8mb4'### 连接设置 ###
# 最大连接数(根据业务需求调整)
max_connections = 1000
# 最大错误连接数(达到后阻止主机连接)
max_connect_errors = 100
# 连接超时时间(秒)
connect_timeout = 10
# 交互式连接超时(秒)
interactive_timeout = 28800
# 非交互式连接超时(秒)
wait_timeout = 28800### 内存设置 ###
# 每个连接的缓冲区大小
sort_buffer_size = 4M
# 每个连接的读缓冲区大小
read_buffer_size = 2M
# 每个连接的随机读缓冲区大小
read_rnd_buffer_size = 8M
# 连接线程缓冲区大小
join_buffer_size = 8M
# 线程堆栈大小
thread_stack = 256K
# 临时表内存大小
tmp_table_size = 64M
# 内存临时表最大值
max_heap_table_size = 64M### InnoDB设置 ###
# InnoDB缓冲池大小(建议为物理内存的50-70%)
innodb_buffer_pool_size = 2G
# InnoDB缓冲池实例数(每个1GB左右)
innodb_buffer_pool_instances = 2
# InnoDB日志文件大小(建议256M-2G)
innodb_log_file_size = 512M
# InnoDB日志缓冲区大小
innodb_log_buffer_size = 16M
# InnoDB刷新日志方式(O_DIRECT避免双缓冲)
innodb_flush_method = O_DIRECT
# InnoDB事务提交方式(1最安全但最慢,2折中,0最快但不安全)
innodb_flush_log_at_trx_commit = 1
# InnoDB IO线程数
innodb_read_io_threads = 4
innodb_write_io_threads = 4
# InnoDB死锁检测
innodb_deadlock_detect = ON
# InnoDB锁等待超时(秒)
innodb_lock_wait_timeout = 50
# InnoDB严格模式
innodb_strict_mode = ON### 日志设置 ###
# 慢查询日志
slow_query_log = 1
# 慢查询日志文件位置
slow_query_log_file = /var/log/mysql/mysql-slow.log
# 慢查询阈值(秒)
long_query_time = 2
# 记录未使用索引的查询
log_queries_not_using_indexes = 1
# 二进制日志格式(ROW格式最安全)
binlog_format = ROW
# 二进制日志过期天数
expire_logs_days = 7
# 二进制日志大小
max_binlog_size = 100M### 安全设置 ###
# 禁止LOAD DATA LOCAL INFILE(防止安全风险)
local_infile = 0
# 禁止符号链接
symbolic-links = 0
# 密码验证策略
validate_password.policy = MEDIUM
# 密码最小长度
validate_password.length = 8
# 密码混合大小写要求
validate_password.mixed_case_count = 1
# 密码数字要求
validate_password.number_count = 1
# 密码特殊字符要求
validate_password.special_char_count = 1
# 禁止旧密码认证
secure_auth = ON### 其他优化 ###
# 表定义缓存
table_open_cache = 2000
# 表定义缓存实例数
table_definition_cache = 1400
# 打开文件限制
open_files_limit = 65535
# 最大允许数据包大小
max_allowed_packet = 64M
# 批量插入缓冲区大小
bulk_insert_buffer_size = 16M
# 线程缓存大小
thread_cache_size = 100
# 主机名缓存大小
host_cache_size = 300

4.docker运行命令

# mysql 配置文件位置
# /kiki/mysql/config
# /kiki/mysql/data
# /kiki/mysql/log# -d 后台运行
# --name 容器名称
# --privileged=true 赋予容器特权模式(访问主机所有设备)
# --restart=always 容器退出时自动重启(除非明确停止)
# -p 3306:3306 将主机的 3310 端口映射到容器的 3306 端口(MySQL 默认端口)
# -v /innomind/mysql/data:/var/lib/mysql 挂载数据目录
# -v /innomind/mysql/config:/etc/mysql/conf.d  挂载配置文件目录
# -v /innomind/mysql/log:/logs 挂载日志目录
# -e MYSQL_ROOT_PASSWORD=123456:设置 MySQL root 用户密码为 "123456"
# -e TZ=Asia/Shanghai:设置时区为亚洲/上海
# --lower_case_table_names=1:设置表名存储为小写(1 表示不区分大小写)
# mysql:8.0 指定要运行的镜像和版本docker run  -d  \
--name mysql8 \
--privileged=true \
--restart=always \
-p 3306:3306 \
-v /kiki/mysql/data:/var/lib/mysql \
-v /kiki/mysql/config:/etc/mysql/conf.d  \
-v /kiki/mysql/log:/logs \
-e MYSQL_ROOT_PASSWORD=123456\
-e TZ=Asia/Shanghai mysql:8.0 \
--lower_case_table_names=1 

运行即可!!!

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

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

相关文章

【网络】Linux 内核优化实战 - net.ipv4.ip_local_reserved_ports

目录一、参数作用二、默认值与格式三、典型应用场景四、配置方法五、注意事项六、查看当前配置在Linux系统的TCP/IP网络配置中,net.ipv4.ip_local_reserved_ports 是一个关键内核参数,用于指定禁止系统自动分配的本地端口范围。这些端口会被“预留”出来…

期待在 VR 森林体验模拟中实现与森林的 “虚拟复现”​

VR 森林体验模拟,无疑是科技与自然领域一次极具开创性意义的奇妙碰撞。它借助前沿的虚拟现实技术,以别出心裁、独树一帜的方式,为我们精心打造并带来了一场前所未有的森林探索奇幻之旅 。​在教育领域,于中小学的自然科学课堂上&a…

Qt:QLabel、LCD Number、QProgressBar、QCalendarWidget

目录 一、QLabel 1.属性 2.设置文本格式 3.设置图片 4.设置文本对齐方式 5.设置自动换行 6.设置缩进 7.设置边距 8.设置伙伴关系 二、LCD Number 1.属性 2.Qt仅允许主线程修改界面 三、QProgressBar 属性 四、QCalendarWidget 属性 一、QLabel 同样的&#x…

打造可靠的云基础架构:Azure 区域与可用性区域

随着企业业务的全球化扩展和数字化转型,可靠性已成为企业在选择云平台时的重要考量因素。Azure 作为全球领先的云计算服务提供商,通过区域(Regions)和可用性区域(Availability Zones)为企业构建高可用性、高…

订单初版—1.分布式订单系统的简要设计文档

大纲1.订单系统核心业务流程2.Spring Cloud Alibaba在订单业务中的落地方案3.面向分布式全链路故障设计的高可靠架构方案4.分布式订单系统的技术栈与代码规范1.订单系统核心业务流程(1)生成订单时序图(2)支付订单流程图(3)取消订单流程图这里主要介绍生单和退款两个核心链路&am…

【HarmonyOS】富文本编辑器RichEditor详解

【HarmonyOS】富文本编辑器RichEditor详解 一、前言 在信息化高速发展的今天,普通的文本容器,已经不能够承载用户丰富的表达欲。富文本展示已经是移动开发中,必备要解决的问题,在鸿蒙中,通过在系统层提供RichEditor控件…

【MySQL进阶】在一台机器上运行多个MySQL实例

目录 1.使用MySQL Installer安装MySQL实例 1.1.去官网下载MySQL Installer 1.2.停止mysql服务 1.3.为不同的版本指定不同的安装目录 2.配置不同版本的选项文件 2.1.修改数据目录 2.2.修改基本目录 2.3.修改端口号 2.4.设置⽇志⽬录 2.5.配置临时目录 2.6.修改绑定地…

verilog中timescale指令的使用

1.timescale指令格式timescale <时间单位> / <时间精度>时间单位&#xff1a;它确定了仿真中时间值的基本单位。比如 1ns 就意味着时间值是以纳秒为单位来计量的。 时间精度&#xff1a;该参数决定了时间值能够表示的最小分辨率。例如 1ps 表示时间可以精确到皮秒级…

08_Excel 导入 - 用户信息批量导入

08_Excel 导入 - 用户信息批量导入 1. VO 类 java复制编辑Data AllArgsConstructor NoArgsConstructor public class UserInfoBatch4ExcelReq {ExcelProperty(value "用户姓名")Schema(description "用户姓名")private String userName;ExcelProperty(va…

【深度学习新浪潮】什么是世界模型?

世界模型(World Model)是人工智能领域中一类通过构建环境的抽象表示来理解和预测外部世界的系统。它通过整合多模态数据(如视觉、语言、传感器信号)形成对环境的动态认知,并支持智能体在复杂场景中进行决策与规划。以下从核心概念、解决的问题、关键研究、技术路线、现状与…

React + Express 传输加密以及不可逆加密

一、传输加密这里用 对称加密模式 ASE实现。React 前端const CryptoJS require("crypto-js");// 示例1&#xff1a;ECB模式&#xff08;无需IV&#xff09; const encryptECB (plainText, key) > {return CryptoJS.AES.encrypt(plainText, key, {mode: CryptoJS…

浏览器(Chrome /Edge)高效使用 - 内部命令/快捷键/启动参数

今天在CSDN上传文件,提交总是提示续传失败,重试了五六次才想到获取是科学上网的问题,这个时候其实只要重启浏览器即可,但如果手动关闭浏览器再次打开,浏览器不会恢复之前的多开窗口(会恢复最后一个窗口内多开的标签页,但不会恢复其他窗口)。想了想记得 Chrome 流行的时…

【PTA数据结构 | C语言版】连续子序列最大和

本专栏持续输出数据结构题目集&#xff0c;欢迎订阅。 文章目录 题目代码 题目 给定 n 个整数组成的序列 { a1 ,a2 ,⋯,an }&#xff0c;“连续子序列”被定义为 { ai ,ai1 ,⋯,aj }&#xff0c;其中 1≤i≤j≤n。“连续子序列最大和”则被定义为所有连续子序列元素的和中最大…

Vrrp配置和原理

Vrrp配置和原理 文章目录Vrrp配置和原理概述物理与逻辑拓扑重点vrid虚拟路由器虚拟IP地址及虚拟MAC地址超时时间计算-MASTER_DOWNvip 管理员手动指定方法Master路由器Backup路由器PriorityVRRP报文格式VRRP状态机从Backup到masterVRRP协议状态二.优先级一样比较接口IPVRRP优先级…

可编辑59页PPT | 某大型集团人工智能数字化转型SAP解决方案

荐言摘要&#xff1a;某大型集团人工智能数字化转型中&#xff0c;SAP解决方案扮演着智能中枢角色&#xff0c;深度融合AI技术与核心业务场景&#xff0c;破解传统系统“数据孤岛流程僵化”双重困局。针对集团跨产业、多业态特点&#xff0c;方案以SAP S/4HANA为数据底座&#…

【RK3568 驱动开发:实现一个最基础的网络设备】

RK3568 驱动开发&#xff1a;实现一个最基础的网络设备一、引言二、编写网络设备驱动代码1. 核心数据结构与接口2. 核心功能实现3. 网络命名空间管理4.源代码三、编译与验证1.加载模块2.验证网络四、注意事项一、引言 RK3568 作为一款高性能 ARM 架构处理器&#xff0c;广泛应…

CAIDCP系列对话:AI 驱动安全

数字时代&#xff0c;AI浪潮翻涌&#xff0c;网络安全攻防战已悄然升级&#xff1a; 某工业控制系统遭AI驱动勒索攻击&#xff1a;攻击者借 AI 精准捕捉异常网络扫描、远程 PowerShell 痕迹&#xff0c;瞬间加密文件索要赎金&#xff1b; 另一边&#xff0c;某大型科技公司用AI…

ARMv8 没开mmu执行memset引起的非对齐访问异常

最近在haps上验证一个新的芯片&#xff0c;记录一下memset访问出错的问题。在没开mmu和cache的情况下&#xff0c;对全局变量指针进行memset清零操作&#xff0c;发现每次都会出现异常。最后发现是没开mmu导致出现了数据非对齐访问导致报错。排查EC区域发现是0x25&#xff0c;产…

基于LiveKit Go 实现腾讯云实时音视频功能

详细的生产部署建议&#xff0c;适用于 LiveKit Go 服务器 Web 客户端 TURN/HTTPS。 1. 服务器准备 推荐使用云服务器&#xff08;如阿里云、腾讯云、AWS、Azure等&#xff09;&#xff0c;公网IP&#xff0c;带宽建议≥10Mbps。系统推荐 Ubuntu 20.04/22.04 或 CentOS 7/8&…

三位一体:Ovis-U1如何以30亿参数重构多模态AI格局?

1. 时代命题&#xff1a;多模态统一模型的破局之战当GPT-4o以万亿级参数构建多模态帝国时&#xff0c;中国AI军团正在书写另一种答案。Ovis-U1用30亿参数证明&#xff1a;参数量并非决定性因素&#xff0c;架构创新与训练策略的化学反应&#xff0c;同样能催生出改变游戏规则的…