mysql基础:mysqld_safe 启动执行流程详解

 更新时间:2013年06月22日 15:53:53   作者:  
本篇文章是对mysql基础中的mysqld_safe启动执行流程进行了详细的分析介绍,需要的朋友参考下

mysqld_safe脚本执行的基本流程:
1、查找basedir和ledir。
2、查找datadir和my.cnf。
3、对my.cnf做一些检查,具体检查哪些选项请看附件中的注释。
4、解析my.cnf中的组[mysqld]和[mysqld_safe]并和终端里输入的命令合并。
5、调用parse_arguments函数解析用户传递的所有参数($@)。
6、对系统日志和错误日志的判断和相应处理具体可以参考附件中的注释,及选项--err-log参数的赋值。
7、对选项--user,--pid-file,--socket及--port进行处理及赋值,保证启动时如果不给出这些参数它也会有值。
8、启动mysqld.
a)启动时会判断一个进程号是否存在,如果存在那么就在错误日志中记录"A mysqld process already exists"并且退出。
b)如不存在就删除进程文件,如果删除不了,那么就在错误日志中记录"Fatal error: Can't remove the pid file"并退出。
9、启动时对表进行检查。如果启动的时候检查表的话设置key_buffer and sort_buffer会提高速度并且减少磁盘空间的使用。也可以使用myisam-recover选项恢复出错的myisam表。
10、如果启动时你什么参数都没有给,那么它会选用一些特定的参数启动,具体哪些参数请看附件注释。
11、如果服务器异常关闭,那么会restart。

最后用三步来总结
检查环境
检查配置选项
启动及启动后的处理

总结:选用mysqld_safe启动的好处。
1、mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。
2、如果有的选项是mysqld_safe 启动时特有的,那么可以终端指定,如果在配置文件中指定需要放在[mysqld_safe]组里面,放在其他组不能被正确解析。
3、mysqld_safe启动能够指定内核文件大小 ulimit -c $core_file_size以及打开的文件的数量ulimit -n $size。
4、MySQL程序首先检查环境变量,然后检查配置文件,最后检查终端的选项,说明终端指定选项优先级最高。

相关文章

  • MySQL中常用的字段截取和字符串截取方法

    MySQL中常用的字段截取和字符串截取方法

    在 MySQL 数据库中,有时我们需要截取字段或字符串的一部分进行查询、展示或处理,本文将介绍 MySQL 中常用的字段截取和字符串截取方法,帮助你灵活处理数据,需要的朋友可以参考下
    2024-01-01
  • MySQL8.4实现RPM部署指南

    MySQL8.4实现RPM部署指南

    MySQL8.4是一个稳定和高性能的关系型数据库管理系统,本文主要介绍了MySQL8.4实现RPM部署指南,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • SQL多表多字段比对方法实例代码

    SQL多表多字段比对方法实例代码

    有时候正式库和测试库同一个表有字段有差异,会造成各种错误,下面这篇文章主要给大家介绍了关于SQL多表多字段比对方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • MySQL8安装Installer版的图文教程

    MySQL8安装Installer版的图文教程

    这篇文章主要介绍了MySQL8安装Installer版的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 详解MySQL主从复制实战 - 基于日志点的复制

    详解MySQL主从复制实战 - 基于日志点的复制

    这篇文章主要介绍了详解MySQL主从复制实战 - 基于日志点的复制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • mysql之数据旧表导新表的实现示例

    mysql之数据旧表导新表的实现示例

    在MySQL中,可以通过INSERT INTO...SELECT * FROM...语句轻松复制两个结构相同或目标表包含源表所有列的表中的数据,本文就来介绍一下mysql之数据旧表导新表的实现示例,感兴趣的可以了解一下
    2024-10-10
  • MySQL中的交叉连接、自然连接和内连接查询详解

    MySQL中的交叉连接、自然连接和内连接查询详解

    这篇文章主要介绍了MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Mysql 过滤和排序查询结果的操作代码

    Mysql 过滤和排序查询结果的操作代码

    过滤和排序查询结果在数据库中是非常常见和重要的操作,这篇文章主要介绍了Mysql 过滤和排序查询结果的操作代码,需要的朋友可以参考下
    2024-04-04
  • 如何将MySQL的两个表名对调

    如何将MySQL的两个表名对调

    本文介绍怎么将MySQL的两个表名调换,这个办法更能确保更换的安全,不出其他的问题,有需要的可以参考下。
    2016-08-08
  • PowerDesigner连接MySQL数据库的详细步骤

    PowerDesigner连接MySQL数据库的详细步骤

    这篇文章主要介绍PowerDesigner连接MySQL数据库的详细步骤,文章通过图文介绍的非常详细,对大家学习PowerDesigner连接MySQL数据库有一定的帮助,需要的朋友可以参考下
    2023-09-09

最新评论