当前位置: 首页 > article >正文

MySQL8.4在华为欧拉openEuler24.03上的性能优化与安全配置实战

MySQL8.4在华为欧拉openEuler24.03上的性能优化与安全配置实战在数据库管理的世界里性能和安全就像一枚硬币的两面缺一不可。特别是当MySQL8.4运行在华为欧拉openEuler24.03这样的企业级操作系统上时如何充分发挥其潜力同时确保数据安全成为每个DBA和系统管理员必须面对的课题。本文将带你深入探索从基础安装到高级调优的全过程分享那些真正在生产环境中验证过的实战技巧。1. 系统级优化为MySQL打造坚实基石1.1 内核参数调优openEuler24.03作为华为针对企业场景优化的Linux发行版其内核参数默认配置可能并不完全适合高负载数据库。我们需要调整几个关键参数# 编辑sysctl配置文件 sudo vim /etc/sysctl.conf添加或修改以下参数# 增加系统文件描述符限制 fs.file-max 65536 # 减少TCP连接TIME_WAIT状态时间 net.ipv4.tcp_fin_timeout 30 # 增加系统端口范围 net.ipv4.ip_local_port_range 1024 65000 # 优化内存分配策略 vm.swappiness 10 vm.dirty_ratio 60 vm.dirty_background_ratio 5应用修改sudo sysctl -p1.2 存储引擎选择与配置MySQL8.4默认使用InnoDB存储引擎但在openEuler上我们可以进一步优化参数默认值推荐值说明innodb_buffer_pool_size128MB物理内存的70-80%缓存池大小innodb_log_file_size48MB1-2GB重做日志大小innodb_flush_methodfsyncO_DIRECT减少双缓冲修改MySQL配置文件sudo vim /etc/my.cnf在[mysqld]部分添加innodb_buffer_pool_size16G innodb_log_file_size1G innodb_flush_methodO_DIRECT innodb_flush_neighbors0提示调整innodb_buffer_pool_size时确保系统有足够剩余内存供其他进程使用。2. 安全加固构建数据库防护体系2.1 SSL/TLS加密配置MySQL8.4默认生成自签名证书但在生产环境中建议使用CA签发的证书# 查看默认SSL证书位置 sudo ls -l /var/lib/mysql/*.pem生成自定义证书的步骤创建CA私钥和证书生成服务器证书签名请求(CSR)使用CA签署服务器证书配置MySQL使用新证书配置示例[mysqld] ssl_ca/etc/mysql/ssl/ca.pem ssl_cert/etc/mysql/ssl/server-cert.pem ssl_key/etc/mysql/ssl/server-key.pem2.2 密码策略与审计MySQL8.4的validate_password组件提供了强大的密码策略控制-- 安装密码验证组件 INSTALL COMPONENT file://component_validate_password; -- 查看当前策略 SHOW VARIABLES LIKE validate_password%; -- 修改策略示例 SET GLOBAL validate_password.length12; SET GLOBAL validate_password.mixed_case_count1; SET GLOBAL validate_password.number_count1; SET GLOBAL validate_password.special_char_count1;建议的密码策略组合最小长度12字符至少1个大写字母至少1个小写字母至少1个数字至少1个特殊字符密码历史记录保留5次3. 性能调优从参数到架构的全方位优化3.1 查询缓存与优化器MySQL8.4已移除查询缓存因此我们需要关注优化器相关参数-- 查看当前会话的优化器设置 SELECT optimizer_switch; -- 启用成本模型统计 SET GLOBAL innodb_stats_persistentON; SET GLOBAL innodb_stats_auto_recalcON; -- 建议调整的参数 SET GLOBAL optimizer_switchindex_condition_pushdownon; SET GLOBAL optimizer_switchmrron; SET GLOBAL optimizer_switchmrr_cost_basedoff;3.2 连接池与线程管理高并发场景下连接管理尤为关键-- 查看当前连接状态 SHOW STATUS LIKE Threads_%; -- 重要连接相关参数 SET GLOBAL thread_cache_size32; SET GLOBAL max_connections500; SET GLOBAL wait_timeout300;连接池配置建议根据应用需求设置max_connectionsthread_cache_size设为max_connections的10%左右合理设置wait_timeout避免空闲连接占用资源4. 监控与维护持续保障数据库健康4.1 性能监控工具openEuler24.03与MySQL8.4的监控方案组合系统级监控使用openEuler自带的sysstat包sudo yum install sysstat sar -u 1 5 # CPU使用率 sar -r 1 5 # 内存使用MySQL性能监控-- 启用性能模式 SET GLOBAL performance_schemaON; -- 常用监控查询 SELECT * FROM sys.session WHERE command ! Sleep; SELECT * FROM sys.memory_global_by_current_bytes;4.2 备份策略与实施在openEuler上实现自动化MySQL备份#!/bin/bash # MySQL备份脚本 BACKUP_DIR/var/backups/mysql DATE$(date %Y%m%d%H%M) MYSQL_USERbackup MYSQL_PASSWORDsecure_password mkdir -p $BACKUP_DIR mysqldump --all-databases --single-transaction \ -u$MYSQL_USER -p$MYSQL_PASSWORD | gzip $BACKUP_DIR/full_$DATE.sql.gz # 保留最近7天备份 find $BACKUP_DIR -type f -name *.sql.gz -mtime 7 -delete将脚本加入cron定时任务0 2 * * * /path/to/backup_script.sh5. 网络与访问控制优化5.1 防火墙精细化管理openEuler使用firewalld作为防火墙解决方案针对MySQL服务建议# 创建专门的防火墙区域 sudo firewall-cmd --permanent --new-zonemysql_zone # 添加源IP限制示例允许192.168.1.0/24 sudo firewall-cmd --permanent --zonemysql_zone --add-source192.168.1.0/24 # 开放MySQL端口 sudo firewall-cmd --permanent --zonemysql_zone --add-port3306/tcp # 设置默认拒绝策略 sudo firewall-cmd --permanent --zonemysql_zone --set-targetDROP # 应用更改 sudo firewall-cmd --reload5.2 数据库层面的访问控制除了网络层防护MySQL内部的权限管理同样重要-- 创建专用管理账户替代root远程登录 CREATE USER admin192.168.1.% IDENTIFIED BY ComplexPssw0rd!23 REQUIRE SSL WITH MAX_QUERIES_PER_HOUR 100 PASSWORD EXPIRE INTERVAL 90 DAY; -- 授予最小必要权限 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, EXECUTE ON *.* TO admin192.168.1.%; -- 查看权限 SHOW GRANTS FOR admin192.168.1.%;权限分配最佳实践遵循最小权限原则为不同应用创建独立账户限制连接数和查询频率强制使用SSL连接定期审计账户权限6. 高级特性应用MySQL8.4专属优化6.1 窗口函数与CTE优化MySQL8.4增强了窗口函数和公共表表达式(CTE)性能-- 使用CTE优化复杂查询 WITH sales_summary AS ( SELECT product_id, SUM(quantity) as total_quantity FROM orders WHERE order_date BETWEEN 2023-01-01 AND 2023-12-31 GROUP BY product_id ) SELECT p.product_name, s.total_quantity, RANK() OVER (ORDER BY s.total_quantity DESC) as sales_rank FROM products p JOIN sales_summary s ON p.product_id s.product_id;6.2 资源组管理利用MySQL8.4的资源组功能实现工作负载隔离-- 创建资源组 CREATE RESOURCE GROUP reports_group TYPE USER VCPU 2-3 THREAD_PRIORITY 10; -- 将报表查询分配到资源组 SET RESOURCE GROUP reports_group; SELECT * FROM large_report_view; SET RESOURCE GROUP DEFAULT;资源组配置建议为OLTP和OLAP工作负载创建不同资源组关键业务操作分配更高优先级监控资源组使用情况并动态调整在实际生产环境中我们曾遇到一个报表查询拖慢整个系统的案例。通过将其分配到专用资源组并限制CPU使用系统整体性能提升了40%。这种精细化的资源管理在openEuler的高性能环境下尤其有效。

相关文章:

MySQL8.4在华为欧拉openEuler24.03上的性能优化与安全配置实战

MySQL8.4在华为欧拉openEuler24.03上的性能优化与安全配置实战 在数据库管理的世界里,性能和安全就像一枚硬币的两面,缺一不可。特别是当MySQL8.4运行在华为欧拉openEuler24.03这样的企业级操作系统上时,如何充分发挥其潜力,同时…...

从躺平到高效:告别“一刀切”的系统性管理变革

管理实践中,“一刀切”式的制度调整屡见不鲜:效率不足便只抓计件,质量下滑就只管标准。结果往往是从一个极端摆向另一个极端,陷入“改了又改”却始终无效的困局。北京华恒智信分析员将在本文中,以一家加油站洗车工的四…...

Stimulsoft 报告和仪表盘2026.2即将推出,来看具体详情

Stimulsoft Reports & Dashboards 2026.2 版本即将发布。本次更新将围绕报表查看器、数据源能力、参数验证以及仪表盘设计等多个方向展开,进一步增强产品在报表开发与可视化分析场景中的灵活性与智能化水平。 从 React 报表查看器,到由人工智能驱动…...

幻想梦境风格 AI 绘画提示词合集|Midjourney 直用

今天给大家分享一组幻想梦境风格的提示词,使用工具为 Midjourney:https://www.midjourney.com/所有提示词均适配 Midjourney 生成,贴合幻想梦境、梦核怪核、超现实氛围感的核心风格,可直接复制使用。一、提示词 1 - 鱼眼小猪风格定…...

告别迷茫!新手如何从RTKLIB命令行程序入手,快速理解GNSS解算全流程

从命令行程序切入:RTKLIB新手实战指南 1. 为什么从命令行程序开始学习RTKLIB? 当你第一次打开RTKLIB的源码目录,面对数十万行代码和复杂的界面程序,很容易陷入"从哪开始"的困惑。作为过来人,我强烈建议从命令…...

告别浏览器!用JavaFX WebView给你的桌面应用嵌入一个“活”网页(附完整代码)

JavaFX WebView深度实战:打造高性能嵌入式浏览器组件 当我们需要在JavaFX桌面应用中嵌入动态网页内容时,WebView组件往往是最优雅的解决方案。不同于简单调用系统浏览器,WebView提供了完全可控的渲染环境,让网页内容与应用界面无缝…...

Mac上通过Homebrew快速部署Miniconda:轻量级Python环境管理指南

1. 为什么选择Miniconda Homebrew组合? 在Mac上管理Python环境就像整理衣柜——你既需要足够的空间存放不同季节的衣服(各种Python版本和库),又不想让整个房间被衣柜塞满。这就是为什么我强烈推荐Miniconda和Homebrew这对黄金组合…...

高效AI教材生成工具,低查重率优势,轻松搞定教材编写!

编写教材难题与AI工具解决方案 编写教材,如何实现精准匹配多样化需求?不同学段学生的认知能力差异明显,内容深浅不宜失衡;课堂教学与自主学习等场景的需求各异,教材的呈现形式也需灵活调整;而各地区的教学…...

Unity Mod加载效率提升解决方案:MelonLoader从安装到精通的全方位指南

Unity Mod加载效率提升解决方案:MelonLoader从安装到精通的全方位指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader …...

CH9329串口转HID键鼠芯片:从选型到实战的避坑指南

1. CH9329芯片:串口转HID的"万能翻译官" 第一次接触CH9329时,我把它想象成一个"语言翻译官"——能把单片机说的"方言"(串口数据)翻译成电脑能听懂的"普通话"(USB HID协议&…...

AOSP 14 Launcher3 桌面改造:三步搞定谷歌搜索栏移除,附完整代码与避坑点

AOSP 14 Launcher3深度定制:彻底移除谷歌搜索栏的工程实践 当国内开发者拿到AOSP 14源码时,Launcher3默认集成的谷歌搜索栏往往成为首个需要处理的"不和谐元素"。这个占据首屏显著位置的组件不仅功能受限,更可能影响整体UI协调性。…...

机器人在未来,能否走进千家万户?

——作为淮南的一名少儿编程老师,每天和孩子们打交道。课堂上,孩子们最常问我的问题之一就是:“老师,以后我家能买一个机器人吗?”每当这时,我都会想起自己小时候看《哆啦A梦》时的憧憬——谁不想拥有一个能…...

基于SpringBoot + Vue的车辆尾气检测排放系统(双端 + 数据可视化大屏)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...

基于SpringBoot + Vue的城市供水管网爆管预警系统(角色:用户、维护人员、管理员)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...

【Linux开发】03Linux 线程同步:信号量(Semaphore)

一、问题:互斥量只能“锁”,不能“排队” 前面我们学习了互斥量,它可以解决多个线程同时访问共享资源的问题,保证同一时间只有一个线程进入临界区。但互斥量只能做到“互斥”,无法控制线程的执行顺序。 1.1 需要控制顺…...

从字典选择到结果分析:dirsearch高效扫描的完整工作流(含SecLists实战)

从字典选择到结果分析:dirsearch高效扫描的完整工作流(含SecLists实战) 在Web安全评估和渗透测试中,目录扫描是发现潜在攻击面的关键步骤。传统的手工探测方式效率低下,而盲目使用默认配置的扫描工具又会产生大量无效结…...

Claude 长文档处理怎么做分块与上下文组织

很多开发者都知道 Claude 适合处理长文档。 但真正落到工程里,效果好不好,往往不取决于模型本身,而取决于你怎么组织输入。 说得更直接一点,长文档处理最常见的误区不是模型不够强,而是团队把一大堆原始材料直接塞进去…...

Linux 线程:从虚拟地址空间到 POSIX 线程控制全解析

前言在 Linux 系统编程与操作系统原理中,线程是并发执行的核心单元,而虚拟地址空间与分页机制是线程共享资源、轻量化运行的底层基石。本文将从线程本质、内存管理原理、进程线程对比、POSIX 线程控制、地址空间布局到线程封装,层层拆解 Linu…...

个人创作者必看:靠谱知识付费平台实测,热门排行榜推荐

对于个人创作者来说,知识付费的核心的是“内容变现”,而选对靠谱的平台,就是打通变现路径的关键一步。不少创作者明明有优质内容,却因选错平台,要么被复杂操作劝退,要么无法沉淀私域用户,要么收…...

实战指南:构建坚不可摧的vCenter HA高可用集群

1. 为什么你的企业需要vCenter HA高可用集群 记得去年有个客户半夜给我打电话,说他们的vCenter突然宕机,整个虚拟化平台瘫痪了。当时正是业务高峰期,损失惨重。这就是典型的单点故障问题——vCenter作为整个vSphere环境的大脑,一旦…...

类型声明不再“形同虚设”:PHP 8.9运行时类型验证增强如何让CI失败率下降67%?

第一章:PHP 8.9类型系统增强的演进背景与核心价值PHP 类型系统自 PHP 7 引入标量类型声明和返回类型以来,持续向静态可分析、运行时安全、开发者友好的方向演进。PHP 8.9 并非官方已发布的版本(截至 2024 年,PHP 最新稳定版为 8.3…...

程序员必备!8个无广告在线小工具,调试效率直接翻倍

程序员必备!8个无广告在线小工具,调试效率直接翻倍 日常开发中,经常会遇到各种琐碎的数据处理需求:接口返回的JSON格式混乱、时间戳不知道怎么转日期、URL参数需要编码解码…… 网上找的工具要么弹窗广告满天飞,要么功…...

msgpack Golang查询功能揭秘:高效提取序列化数据的完整指南

msgpack Golang查询功能揭秘:高效提取序列化数据的完整指南 【免费下载链接】msgpack msgpack.org[Go] MessagePack encoding for Golang 项目地址: https://gitcode.com/gh_mirrors/msg/msgpack 想要在Golang项目中快速提取MessagePack序列化数据中的特定字…...

m4s-converter:B站缓存视频本地化工具 3步实现媒体文件自主管理

m4s-converter:B站缓存视频本地化工具 3步实现媒体文件自主管理 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 一、问题象限&#x…...

Phi-4-mini-reasoning Chainlit前端定制:添加历史记录与多会话管理功能

Phi-4-mini-reasoning Chainlit前端定制:添加历史记录与多会话管理功能 1. 项目背景与目标 Phi-4-mini-reasoning是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理。该模型支持128K令牌的上下文长度,特别适合需要…...

Gemma-3-270m在QT桌面应用中的集成开发指南

Gemma-3-270m在QT桌面应用中的集成开发指南 1. 引言 想在桌面应用中添加智能对话功能吗?Gemma-3-270m这个轻量级AI模型可能正是你需要的解决方案。作为Google最新推出的紧凑型语言模型,它只有2.7亿参数,却能在普通电脑上流畅运行&#xff0…...

大语言模型长输入性能研究

研究大语言模型的特性:Maxime Meyer访谈录 在本系列访谈中,我们与AAAI/SIGAI博士联盟的部分参与者进行了交流,以深入了解他们的研究。我们与Maxime Meyer坐下来聊了聊他当前的研究、未来计划以及博士联盟的经历。 能否先介绍一下你自己、你在…...

HsMod:炉石传说终极模改插件,5个核心功能让游戏体验翻倍

HsMod:炉石传说终极模改插件,5个核心功能让游戏体验翻倍 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 你是否曾经在炉石传说中感到等待时间过长?是否希…...

【PHP 8.9类型革命】:从nullable到intersection,从static返回到inferable closures——12个必须掌握的类型语法变更清单

第一章:PHP 8.9类型系统演进全景图PHP 8.9尚未正式发布,但根据PHP开发团队在RFC草案与内部路线图中的持续披露,其类型系统将围绕“静态可推导性”与“运行时契约强化”双主线进行深度重构。该版本并非简单叠加新语法,而是对类型声…...

打破输入法壁垒:一站式词库转换解决方案

打破输入法壁垒:一站式词库转换解决方案 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因更换输入法而不得不放弃积累了多年的个人词库&#xf…...