技术分享 | kill掉mysqld_safe进程会影响mysqld进程?

MySQL--mysqld、mysql_safe、mysql.server、mysqladmin几种启动和停止服务使用说明 您好,我是贾斯汀,欢迎进来学习的小伙伴~ 【学习背景】 本文对Linux下启动和停止mysql服务最常用的几种方式进行讲解,主要涉及到以下几种文件和命令: (1)mysqld (2)mysqld_safe (3)mysql.server (4)mysqladmin 关于这几种文件和命令对mysql服务的启动和停止的使用,本文会分别进行介绍,还有一些关键的事项,比如生产环境对于MySQL服务的启动和停止是非常谨慎的一件事,不是每一种方式都适合生产使用的,需要搞清楚再使用,这里分享出来,希望对有需要的小伙伴有 阅读详情

1、背景

公司内部看到一则问题

1、kill -9 mysqld_safe 进程 2、systemd 检测到 mysqld_safe 进程不存在后,重新拉起 mysqld_safe 进程 3、mysqld_safe 进程启动后,发现 mysqld 进程也被重启

期望:启、停 mysqld_safe 进程,不会影响 mysqld 进程

2、systemd 服务启动

2.1、复现问题

1)、查看数据库服务状态

[greatsql@greatsql-1 ~]$ sudo systemctl status db-4306
● db-4306.service - db-4306 Server
   Loaded: loaded (/usr/lib/systemd/system/db-4306.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-07-19 11:15:18 CST; 6h ago
 Main PID: 14917 (mysqld_safe)
   CGroup: /system.slice/db-4306.service
           ├─14917 /bin/sh /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf
           └─16340 /greatsql/svr/greatsql/bin/mysqld --defaults-file=/greatsql/conf/greatsql4306.cnf --basedir=/greatsql/svr/greatsql --datadir=/greatsql/dbdata/data4306/data -...
Jul 19 11:15:18 greatsql-1 systemd[1]: Started db-4306 Server.
Jul 19 11:15:19 greatsql-1 mysqld_safe[14917]: mysqld_safe Adding '/greatsql/svr/GreatSQL-8.0.32-24-Linux-glibc2.17-x86_64/lib/mysql/libjemalloc.so.1' t...or mysqldJul 19 11:15:19 greatsql-1 mysqld_safe[14917]: 2023-07-19T03:15:19.907338Z mysqld_safe Logging to '/greatsql/logs/error4306.log'.
Jul 19 11:15:19 greatsql-1 mysqld_safe[14917]: 2023-07-19T03:15:19.953728Z mysqld_safe Starting mysqld daemon with databases from /greatsql/dbdata/data4306/data
Hint: Some lines were ellipsized, use -l to show in full.

2)、kill -9 mysqld_safe 进程,并再次查看数据库服务状态

[greatsql@greatsql-1 ~]$ kill -9 14917
[greatsql@greatsql-1 ~]$ sudo systemctl status db-4306
● db-4306.service - db-4306 Server
   Loaded: loaded (/usr/lib/systemd/system/db-4306.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-07-19 18:00:33 CST; 43s ago
 Main PID: 15195 (mysqld_safe)
    Tasks: 50
   CGroup: /system.slice/db-4306.service
           ├─15195 /bin/sh /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf
           └─16613 /greatsql/svr/greatsql/bin/mysqld --defaults-file=/greatsql/conf/greatsql4306.cnf --basedir=/greatsql/svr/greatsql --datadir=/greatsql/dbdata/data4306/data -...
Jul 19 18:00:33 greatsql-1 systemd[1]: Started db-4306 Server.
Jul 19 18:00:34 greatsql-1 mysqld_safe[15195]: mysqld_safe Adding '/greatsql/svr/GreatSQL-8.0.32-24-Linux-glibc2.17-x86_64/lib/mysql/libjemalloc.so.1' t...or mysqldJul 19 18:00:34 greatsql-1 mysqld_safe[15195]: 2023-07-19T10:00:34.640240Z mysqld_safe Logging to '/greatsql/logs/error4306.log'.
Jul 19 18:00:34 greatsql-1 mysqld_safe[15195]: 2023-07-19T10:00:34.679333Z mysqld_safe Starting mysqld daemon with databases from /greatsql/dbdata/data4306/data
Hint: Some lines were ellipsized, use -l to show in full.

确实在 kill -9 mysqld_safe 后,重新拉起了 mysqld_safe 和 mysqld 进程(它们的 PID 和之前不一样)

3)、查看数据库错误日志

2023-07-19T18:00:31.933020+08:00 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.32-24).

4)、查看 service 文件

[greatsql@greatsql-1 ~]$ cat /usr/lib/systemd/system/db-4306.service
[Unit]
Description=db-4306 Server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
User=greatsql
Group=greatsql

Type=simple
ExecStart=/greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf
Restart=on-failure
LimitNOFILE=1024000
LimitNPROC=1024000
TimeoutStopSec=15
PrivateTmp=false

2.2、分析原因

1)、查看进程信息

[greatsql@greatsql-1 ~]$ ps axj |head -1;ps axj |grep 4306 |grep -v grep
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    1 15195 15195 15195 ?           -1 Ss     986   0:00 /bin/sh /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf
15195 16613 15195 15195 ?           -1 Sl     986   0:06 /greatsql/svr/greatsql/bin/mysqld --defaults-file=/greatsql/conf/greatsql4306.cnf --basedir=/greatsql/svr/greatsql --datadir=/greatsql/dbdata/data4306/data --plugin-dir=/greatsql/svr/greatsql/lib/plugin --log-error=/greatsql/logs/error4306.log --open-files-limit=65535 --pid-file=/greatsql/dbdata/data4306/data/mysql.pid --socket=/greatsql/dbdata/data4306/data/mysql.sock --port=4306

mysqld_safe:PID(进程 ID)=PGID(进程组 ID)=SID(会话 ID),说明它是会话首进程,也是该进程组的组长

mysqld_safe 的 PID(进程 ID)=mysqld 的 PPID(父进程 ID),说明 mysqld_safe 是 mysqld 的父进程

kill -9 mysqld_safe (会话首进程),会向该进程组的每一个进程发送 SIGKILL,导致组中的进程被中止

2)、整体流程

  • mysqld_safe 是会话首进程,kill -9 mysqld_safe,导致组中所有进程被 kill
  • systemd 检测到 mysqld_safe 异常退出,Restart=on-failure 触发重新拉起 mysqld_safe
  • mysqld_safe 拉起子进程 mysqld

3、mysqld_safe 命令启动

1)、使用 mysqld_safe 启动数据库

[greatsql@greatsql-1 ~]$ /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf &
[1] 18229
[greatsql@greatsql-1 ~]$  mysqld_safe Adding '/greatsql/svr/GreatSQL-8.0.32-24-Linux-glibc2.17-x86_64/lib/mysql/libjemalloc.so.1' to LD_PRELOAD for mysqld
2023-07-19T14:20:19.135297Z mysqld_safe Logging to '/greatsql/logs/error4306.log'.
2023-07-19T14:20:19.173594Z mysqld_safe Starting mysqld daemon with databases from /greatsql/dbdata/data4306/data

2)、查看进程信息

[greatsql@greatsql-1 ~]$ ps axj |head -1;ps axj |grep 4306 |grep -v grep
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
17360 18229 18229 17206 pts/7    17360 S      986   0:00 /bin/sh /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf
18229 19658 18229 17206 pts/7    17360 Sl     986   0:02 /greatsql/svr/greatsql/bin/mysqld --defaults-file=/greatsql/conf/greatsql4306.cnf --basedir=/greatsql/svr/greatsql --datadir=/greatsql/dbdata/data4306/data --plugin-dir=/greatsql/svr/greatsql/lib/plugin --log-error=/greatsql/logs/error4306.log --open-files-limit=65535 --pid-file=/greatsql/dbdata/data4306/data/mysql.pid --socket=/greatsql/dbdata/data4306/data/mysql.sock --port=4306

PID≠SID,不是会话首进程 PGID≠TPGID,是后台进程组 mysqld_safe 的 PID=mysqld 的 PPID,说明 mysqld_safe 是 mysqld 的父进程

3)、kill -9 mysqld_safe 进程,并再次查看进程信息

[greatsql@greatsql-1 ~]$ kill -9 18229
[greatsql@greatsql-1 ~]$ ps axj |head -1;ps axj |grep 4306 |grep -v grep
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    1 19658 18229 17206 pts/7    17360 Sl     986   0:07 /greatsql/svr/greatsql/bin/mysqld --defaults-file=/greatsql/conf/greatsql4306.cnf --basedir=/greatsql/svr/greatsql --datadir=/greatsql/dbdata/data4306/data --plugin-dir=/greatsql/svr/greatsql/lib/plugin --log-error=/greatsql/logs/error4306.log --open-files-limit=65535 --pid-file=/greatsql/dbdata/data4306/data/mysql.pid --socket=/greatsql/dbdata/data4306/data/mysql.sock --port=4306

kill -9 mysqld_safe (非会话首进程),不影响同组的进程(mysqld),此时 init 进程会自动领养 mysqld 进程

4)、重新启动 mysqld_safe 进程,并再次查看进程信息

[greatsql@greatsql-1 ~]$ /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf &
[1] 31401
[greatsql@greatsql-1 ~]$  mysqld_safe Adding '/greatsql/svr/GreatSQL-8.0.32-24-Linux-glibc2.17-x86_64/lib/mysql/libjemalloc.so.1' to LD_PRELOAD for mysqld
2023-07-19T14:38:42.429733Z mysqld_safe Logging to '/greatsql/logs/error4306.log'.
2023-07-19T14:38:42.493870Z mysqld_safe A mysqld process already exists

[1]+  Exit 1                  /greatsql/svr/greatsql/bin/mysqld_safe --defaults-file=/greatsql/conf/greatsql4306.cnf

[greatsql@greatsql-1 ~]$ ps axj |head -1;ps axj |grep 4306 |grep -v grep
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    1 19658 18229 17206 pts/7    17360 Sl     986   0:09 /greatsql/svr/greatsql/bin/mysqld --defaults-file=/greatsql/conf/greatsql4306.cnf --basedir=/greatsql/svr/greatsql --datadir=/greatsql/dbdata/data4306/data --plugin-dir=/greatsql/svr/greatsql/lib/plugin --log-error=/greatsql/logs/error4306.log --open-files-limit=65535 --pid-file=/greatsql/dbdata/data4306/data/mysql.pid --socket=/greatsql/dbdata/data4306/data/mysql.sock --port=4306

mysqld_safe 退出,原因是已存在 mysqld 进程

4、总结

  • mysqld_safe 进程和 mysqld 进程是父子进程关系
  • systemd 服务启动,kill 父进程(会话首进程),会导致子进程也退出
  • mysqld_safe 命令启动,kill 父进程(非会话首进程),不会导致子进程退出;重新启动父进程,报错子进程已存在
  • 可以使用mysqld_safe命令启动 + 改造mysqld_safe脚本,实现【启、停mysqld_safe进程,不会影响mysqld进程】。此时不要混合使用systemd启动数据库,需要维护这个特殊的mysqld_safe

Enjoy GreatSQL :)

关于 GreatSQL

GreatSQL是适用于金融级应用的国内自主开源数据库,具备高性能、高可靠、高易用性、高安全等多个核心特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

image

社区有奖建议反馈: https://greatsql.cn/thread-54-1-1.html

社区博客有奖征稿详情: https://greatsql.cn/thread-100-1-1.html

(对文章有疑问或者有独到见解都可以去社区官网提出或分享哦~)

技术交流群:

微信&QQ群:

QQ群:533341697

微信群:添加GreatSQL社区助手(微信号:wanlidbc )好友,待社区助手拉您进群。

MySQL数据文件被误删,如何进行恢复? 今天跟大家分享了一种误删数据文件利用内存数据恢复的方法,其实还有一些其他的恢复方法,需要根据不同场景去选取最优的处理方案。预防远比处理的意义大得多。另外,在 MySQL 的集群方案中,会时不时地用到备份来恢复实例,因此定期检查备份的有效性也很有必要。如果你是业务开发同学,你可以用 show grants 命令查看账户的权限,如果权限过大,可以建议 DBA 同学给你分配权限低一些的账号;你也可以评估业务的重要性,和 DBA 商量备份的周期、是否有必要创建延迟复制的备库等等。 阅读详情

相关推荐

Linux进程管理三剑客:ps、kill、nice的协同诊断与治理

在Linux系统中,进程管理并非简单查杀调优,而是围绕进程生命周期展开的系统性工程。ps命令本质是进程状态快照工具,通过STAT列(如R/S/Z/T)揭示CPU占用、I/O阻塞或僵尸状态等核心线索;kill命令的核心价值在于信号语义分层——SIGTERM支持优雅终止,SIGSTOP用于无损调试,而滥用SIGKILL将破坏数据一致性;nice则通过CFS调度器的vruntime权重机制,实现CPU时间片的精细化配额分配,而非粗暴降速。这些能力共同构成故障定位(如高CPU根因分析)、服务治理(如微服务资源隔离)

weixin_30629653的博客 335

Mysql安装和常用命令及问题汇总

//******************************************安装 //**********************正常安装的流程是这样*******************************// 1.使用 mysqld -remove MySQL 命令先卸载它。 2、运行命令窗口(以管理员方式打开) 3、输入:mysqld --initialize --user=mysql --console,成功的话会生成随机密码,注意记录下生成的密码,第一次进入mysql会用到

u011555996的博客 3256

Linux脚本后台运行与输出重定向:从>/dev/null 2>&1 &到nohup的实战解析

本文深入解析Linux脚本后台运行与输出重定向技术,从基础的`>/dev/null 2>&1 &`命令组合到nohup的实战应用。详细介绍了标准输出与错误输出的处理方式,对比了`&`与nohup的使用场景,并提供了生产环境中的高级技巧与常见问题解决方案,帮助开发者高效管理Linux后台进程。

weixin_33841503的博客 568

mysql的启动方式

mysql的启动方式有4种: mysqld 、mysql_safe 、mysql_multi、service mysql start 1. mysqld:是mysql的核心程序,用于管理mysql的数据库文件以及用户的请求操作。mysqld可以读取配置文件中的[mysqld]的部分 [mysqld] user = mysql basedir = /usr/local/mysql datadir = /data/mysql/mysql_3306/data port = 3306 socket = /tmp

liuyuinsdu的专栏 1045

CentOS 7系统下MySQL 8.0完整部署与安全配置实战指南

关系型数据库作为现代应用架构的核心组件,其部署与配置是系统稳定运行的基石。MySQL作为最流行的开源关系数据库之一,其8.0版本在性能、安全性和功能上均有显著提升。理解数据库部署原理,掌握从系统环境准备、软件包安装到安全加固的全流程,对于保障数据服务的可靠性与安全性至关重要。在Linux服务器环境下,通过Yum仓库管理、systemctl服务控制等基础运维技术,可以实现数据库服务的标准化部署。特别是在CentOS 7这类企业级Linux发行版上,结合防火墙配置、SELinux策略调整等系统级安全实践,能够构

weixin_30482181的博客 386

Ubuntu 20.04 MariaDB 快速启动与 unix_socket 认证详解

MariaDB 是一款开源关系型数据库管理系统,广泛用于 Web 应用后端;其核心原理基于客户端-服务器架构,通过 SQL 协议交互,并依赖插件化认证机制(如 mysql_native_password 和 unix_socket)实现身份验证。在 Ubuntu 20.04 等 LTS 发行版中,MariaDB 10.3 默认启用 unix_socket 插件,跳过密码校验、直连系统用户身份,显著提升本地开发安全性,但也导致传统 mysql -u root -p 方式失效。这一技术特性使它成为 DevOps

weixin_34220179的博客 445

mysql初始化命令 mysqld --initialize 参数说明

mysql初始化命令 mysqld --initialize 参数说明

毅香雪海的博客 5055

Upstart事件驱动启动原理与Node.js服务实战

Init系统是Linux操作系统启动和生命周期管理的核心基础,其演进路径从SysV init的顺序脚本,到Upstart的事件驱动架构,再到systemd的单元化模型,反映了系统设计对硬件热插拔、服务动态依赖和可观测性需求的持续响应。Upstart通过内核uevents与声明式事件规则(如start on net-device-up),首次在主流发行版中实现并行启动与精细化进程状态控制,显著提升嵌入式及边缘场景下的启动效率与可靠性。结合Node.js等现代应用,Upstart的pre-start校验、pos

weixin_33858336的博客 407

mysql_safe进程_【国庆】记一次mysqld_safe引发mysql进程故障

今天是举国欢庆的日子,但是Mariadb密码忘记了,于是巴拉巴拉的执行"mysqld_safe --skip-grant-tables &"这个神技能,打算跳过密码验证,直接登录到数据库中,更新密码;mysqld_stfe这条命令的同学应该清楚,首要条件是stop数据库,在执行mysqld_safe --skip-grant-tables &;这样才能更改登录数据库用户的密码;更新...

weixin_35626107的博客 270

Ubuntu 20.04 安装 MariaDB 常见问题与 auth_socket 认证详解

MariaDB 是 MySQL 的主流开源分支,广泛用于 Web 应用、RAGFlow 知识库及嵌入式数据服务等场景。其核心原理基于客户端-服务器架构,通过 socket 或 TCP 连接实现 SQL 查询处理,依赖插件化认证机制(如 auth_socket 和 mysql_native_password)保障访问安全。技术价值体现在高性能、强兼容性与开箱即用的 systemd 集成;典型应用场景包括本地开发环境搭建、Docker 容器化后端部署、AI 应用(如 RAGFlow)数据库对接,以及 VINS-

weixin_34279246的博客 413

MySQL ERROR 1045 深度解析:从紧急救援到根治权限访问问题

数据库权限管理是数据安全的核心机制,它通过用户身份验证和访问控制来保护数据资源。MySQL的权限系统基于mysql.user等系统表,通过密码哈希、验证插件和主机匹配等多维度进行认证。当出现ERROR 1045访问被拒绝时,通常意味着认证环节的某个维度不匹配。这一机制的技术价值在于平衡安全性与可用性,确保只有授权用户能够访问数据库。在实际应用场景中,开发者在部署Web应用或进行数据库维护时,常会遇到root@localhost账户登录失败的问题。这往往涉及密码策略变更、验证插件不兼容或权限记录异常等情况。通

weixin_34133829的博客 299

Linux进程管理三剑客:ps、kill、nice实战精要

进程管理是操作系统资源调度的核心能力,涉及CPU时间分配、信号通信机制与运行状态监控等底层原理。Linux通过/proc文件系统提供进程实时快照,CFS调度器依据nice值动态加权CPU时间片,而kill命令本质是向进程发送可捕获或不可忽略的信号,实现优雅终止或强制干预。这些技术共同构成系统稳定性保障的关键链条,广泛应用于故障排查、性能调优与自动化运维等真实场景。本文聚焦ps进程侦察、kill信号选择与nice资源调节三大核心命令,结合生产环境高频问题,详解其协同逻辑与避坑实践。

weixin_30701575的博客 414

MySQL 5.7 生产级安装与配置指南:CentOS/Ubuntu 实战详解

关系型数据库是数据持久化存储的核心组件,其通过结构化查询语言(SQL)进行数据操作与管理,采用表结构存储数据并维护数据间的关联关系。在众多开源数据库中,MySQL凭借其开源、高性能、高可靠性和丰富的生态,成为Web应用、企业系统中最广泛使用的数据库之一。对于追求极致稳定性的生产环境,MySQL 5.7版本因其久经考验的稳定性和广泛的生态兼容性,至今仍是许多核心业务系统的首选。本文聚焦于**MySQL 5.7**在主流Linux发行版上的部署实践,详细对比了通过**包管理器安装**与二进制包安装的优劣,并提供

weixin_30847865的博客 419

Ubuntu 16.04日志轮转实战:Logrotate配置、原理与避坑指南

日志轮转是Linux系统运维的基础能力,其核心在于避免磁盘爆满、保障服务连续性,并满足审计留存要求。Logrotate并非简单删除,而是通过重命名、创建新文件、通知服务重载等原子操作实现安全轮转。在Ubuntu 16.04中,logrotate 3.8.7默认集成但配置易错——如dateext与rotate冲突、postrotate信号失效、journald与rsyslog混管导致日志丢失等。理解配置层级(/etc/logrotate.conf与/etc/logrotate.d/优先级)、关键参数协同(ma

weixin_33688840的博客 467

组合导航、惯导、GNSS、INS、IMU的区别

‌:惯性导航系统(INS)是一种利用安装在运载体上的陀螺仪和加速度计来测定运载体位置的系统。它通过测量物体的加速度和角速度,结合算法计算出物体的位置、速度和姿态‌12。‌。

wynn1123的博客 8054

CentOS 7下MariaDB数据目录迁移完整方案

MariaDB数据目录迁移是数据库运维中高频且高危的基础操作,其本质涉及文件系统权限、SELinux安全上下文、systemd服务沙箱机制与InnoDB存储引擎启动校验的深度协同。在CentOS 7等默认启用SELinux和systemd保护策略的发行版中,仅修改datadir配置远不足以保障服务稳定——必须同步处理挂载点持久化、XFS文件系统优化(noatime/nobarrier)、mysqld_db_t上下文继承、ReadWritePaths显式授权等关键环节。该操作直接关系到磁盘空间治理、服务可用性

weixin_33742618的博客 501

MT 103 Single Customer Credit Transfer单笔客户转账

MT 103 Single Customer Credit Transfer单笔客户转账 MT103电文能通过三种方式交换,依赖电文使用的业务场景。 (1)   核心MT103电文是一个通用电文,发送和接收此电文不需要在电文用户组(MUG)注册。允许使用所有MT103电文域来交换单客户转账,除了77T域(信封内容)。MT103电文如果是根据预先约定的双边/多边规则的格式,则可以直通处理。 (

shuytu 1万+

Ubuntu 20.04 安装 MariaDB 常见陷阱与系统级配置指南

MariaDB 是兼容 MySQL 协议的开源关系型数据库,其核心原理基于客户端-服务器架构与插件化认证机制(如 auth_socket)。在 Ubuntu 系统中,它深度集成 systemd 服务管理、AppArmor 安全策略及 Debian 维护账户体系,技术价值在于开箱即用的稳定性与系统级协同能力。典型应用场景包括 Web 应用后端、监控系统数据存储及多数据库共存环境。本文聚焦 Ubuntu 20.04 LTS 下 MariaDB 的正确安装路径、auth_socket 认证机制解析、systemd

weixin_30381317的博客 527

声纹识别初学

最近开始关注声纹识别技术,发现国内做这个的确实没有几家,而且大多重点推声纹认证,用在公安司法金融领域,而我却关注文本无关的声纹识别,这里把我搜到的一点资料汇总在此. 发现njustzj001的专栏有两篇文章适合入门的我,贴下链接: 综述:  http://blog.youkuaiyun.com/xmu_jupiter/article/details/47209961 PLDA解释:  http://

u013452331的专栏 2758

Transformer凭什么取代RNN?深入拆解自注意力机制与梯度消失问题的终极对决

本文深入探讨了Transformer如何通过自注意力机制解决RNN的梯度消失问题,成为自然语言处理领域的新标准。通过对比RNN和Transformer的架构差异,揭示了自注意力机制在并行计算、长期依赖处理等方面的技术优势,并提供了实际任务中的性能对比数据。

f6g7h8i9j的博客 190

Ubuntu 18.04安装MySQL 5.7的系统级陷阱与生产配置指南

MySQL 是广泛使用的开源关系型数据库,其在 Linux 系统中的部署不仅涉及基础安装,更深度耦合操作系统机制。理解 MySQL 认证插件(如 auth_socket 与 mysql_native_password)的工作原理、systemd 服务生命周期管理、以及 /etc/mysql/ 下 conf.d 与 mysql.conf.d 的分层配置机制,是保障数据库安全、稳定与可维护性的关键。这些底层设计直接影响远程连接、字符集支持(utf8mb4)、权限模型及升级兼容性,尤其在 Ubuntu 18.04

weixin_30275415的博客 495

IEC103协议实战指南:报文解析与传输优化策略

本文深入解析IEC103协议在电力自动化系统中的核心应用,重点拆解其固定帧与可变帧两种报文格式,并详细阐述了主从问答与非平衡传输机制。文章结合实战经验,针对报文解析中的常见问题(如字节序、超时重发)提供了解决方案,并探讨了传输层优化策略,旨在帮助工程师实现更可靠、高效的通信链路。

r2s3t4的博客 541

Ubuntu 24.04 MySQL生产就绪配置全指南

MySQL 是广泛使用的开源关系型数据库,其在 Linux 系统(尤其是 Ubuntu)上的部署远不止执行一条 apt 安装命令。理解其底层原理——如默认启用 caching_sha2_password 身份验证插件、systemd 沙箱限制、AppArmor 安全策略干预——是实现稳定运行的关键。技术价值在于平衡安全性与可用性:既需开放远程访问(bind-address=0.0.0.0),又须规避权限与网络配置陷阱;既要调优 innodb_buffer_pool_size 等核心参数提升 QPS,又要通过

weixin_34268310的博客 416

非易失存储器读写

24C256、IIC_SCL、IIC_SDA

CT_1104的专栏 2986

MTK Linux DRM分析(八)- KMS drm_crtc.c

CRTC 在 Linux DRM 子系统中是显示控制的核心,负责时序生成、模式设置和管线的调度。理解其工作原理和 API 对于进行底层图形开发、调试显示问题或 simply understanding how your graphics stack works 都至关重要。

iTom1900 1349
上一篇: GreatSQL从单机到MGR扩展纪实
下一篇: 图文结合丨带你轻松玩转MySQL Shell for GreatSQL
GreatSQL社区
博客等级 码龄5年 1210粉丝 390原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值