mysqld_safe启动脚本源码阅读分析:MySQL数据库启动流程与shell编程技巧
74 浏览量
更新于2024-08-28
收藏 111KB PDF 举报
mysqld_safe启动脚本源码阅读、分析
mysqld_safe是MySQL数据库的启动脚本,负责启动mysqld实例。该脚本对MySQL数据库的启动流程进行了详细的描述,包括查找MySQL相关目录、解析配置文件以及最后如何调用mysqld程序来启动实例等。同时,该脚本还涉及了许多shell编程中的小技巧,例如变量解析、sed替换转义、进程优先级的判断以及test结构等等。
**MySQL数据库启动流程**
mysqld_safe脚本首先定义了一些状态变量,例如KILL_MYSQLD、MYSQLD、niceness等,其中KILL_MYSQLD用于标识是否需要kill多余的mysqld_safe程序,MYSQLD是mysqld二进制可执行文件的名称,niceness是进程的调度优先级标识。
然后,脚本定义了一些变量,例如logging、want_syslog、syslog_tag等,用于标识日志记录状态、是否使用syslog、syslog标志位等。
接下来,脚本定义了pid文件和错误日志的路径,用于存储mysqld实例的进程ID和错误日志。
**shell编程技巧**
mysqld_safe脚本中涉及了许多shell编程中的小技巧,例如:
* 变量解析:使用case语句来解析命令行参数,例如解析--no-defaults、--defaults-file和--defaults-extra-file选项。
* sed替换转义:使用sed命令来替换和转义字符串,例如将配置文件中的变量替换为实际值。
* 进程优先级的判断:使用niceness变量来设置进程的调度优先级。
* test结构:使用test结构来判断条件是否成立,例如判断是否需要kill多余的mysqld_safe程序。
**MySQL配置文件**
mysqld_safe脚本还涉及了MySQL配置文件的解析,例如读取配置文件中的变量、设置mysqld实例的参数等。配置文件目录是/usr/local/mysql3306/etc,配置文件中定义了mysqld实例的参数,例如数据库目录、日志文件目录、错误日志文件目录等。
**环境变量**
mysqld_safe脚本还涉及了环境变量的设置,例如umask、trap等。umask用于设置默认权限,trap用于捕捉信号,例如在终端上被人打断时的信号。
mysqld_safe启动脚本对MySQL数据库的启动流程进行了详细的描述,同时还涉及了许多shell编程中的小技巧,例如变量解析、sed替换转义、进程优先级的判断以及test结构等等。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-09-10 上传
2021-03-23 上传
2013-11-18 上传
2022-09-23 上传
2022-11-13 上传
2013-07-26 上传
weixin_38570278
- 粉丝: 4
- 资源: 978
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析