文章1:

直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。它通常做如下事情:
1. 检查系统和选项。
2. 检查MyISAM表。
3. 保持MySQL服务器窗口。
4. 启动并监视mysqld,如果因错误终止则重启。
5. 将mysqld的错误消息发送到数据目录中的host_name.err 文件。
6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件。

转自:http://yunwei.blog.51cto.com/381136/421031

文章2:

mysqld_safe
  在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。本节后面列出了NetWare的特定行为。
  注释:为了保持同旧版本MySQL的向后兼容性,MySQL二进制分发版仍然包括safe_mysqld作为mysqld_safe的符号链接。但是,你不应再依赖它,因为再将来将删掉它。
  默认情况下,mysqld_safe尝试启动可执行mysqld-max(如果存在),否则启动mysqld。该行为的含义是:
  · 在Linux中,MySQL-Max RPM依赖该mysqld_safe的行为。RPM安装可执行mysqld-max,使mysqld_safe从该点起自动使用可执行命令。
  · 如果你安装包括mysqld-max服务器的MySQL-Max分发版,后面升级到非-Max的MySQL版本,mysqld_safe仍然试图运行旧的 mysqld-max服务器。升级时,你应手动删除旧的mysqld-max服务器以确保mysqld_safe运行新的mysqld服务器。
  要想越过默认行为并显式指定你想要运行哪个服务器,为mysqld_safe指定--mysqld或--mysqld-version选项。
  mysqld_safe从选项文件的[mysqld]、[server]和 [mysqld_safe]部分读取所有选项。为了保证向后兼容性,它还读取 [safe_mysqld]部分,尽管在MySQL 5.1安装中你应将这部分重新命名为[mysqld_safe]。
  mysqld_safe支持下面的选项:
  · --help
  显示帮助消息并退出。
  · --autoclose
  (只在NetWare中)在NetWare中,mysqld_safe可以保持窗口。当你关掉mysqld_safe NLM时,窗口不按默认设置消失。相反,它提示用户输入:
  **如果你想让NetWare自动关闭窗口,在mysqld_safe中使用--autoclose选项。
  · --basedir=path
  MySQL安装目录的路径。
  · --core-file-size=size
  mysqld能够创建的内核文件的大小。选项值传递给ulimit -c。
  · --datadir=path
  数据目录的路径。
  · --defaults-extra-file=path
  除了通用选项文件所读取的选项文件名。如果给出,必须首选该选项。
  · --defaults-file=path
  读取的代替通用选项文件的选项文件名。如果给出,必须首选该选项。
  · --ledir=path
  包含mysqld程序的目录的路径。使用该选项来显式表示服务器位置。
  · --log-error=path
  将错误日志写入给定的文件。参见5.11.1节,“错误日志”。
  · --mysqld=prog_name
  想要启动的服务器程序名(在ledir目录)。如果你使用MySQL二进制分发版但有二进制分发版之外的数据目录需要该选项。
  · --mysqld-version =suffix
  该选项类似--mysqld选项,但你只指定服务器程序名的后缀。基本名假定为mysqld。例如,如果你使用--mysqld-version =max,mysqld_safe启动ledir目录中的mysqld-max程序。如果--mysqld-version的参数为空,mysqld_safe使用目录中的mysqld。
  · --nice=priority
  使用nice程序根据给定值来设置服务器的调度优先级。
  · --no-defaults
  不要读任何选项文件。如果给出,必须首选该选项。
  · --open-files-limit=count
  mysqld能够打开的文件的数量。选项值传递给 ulimit -n。请注意你需要用root启动mysqld_safe来保证正确工作!
  · --pid-file=path
  进程ID文件的路径。
  · --port=port_num
  用来帧听TCP/IP连接的端口号。端口号必须为1024或更大值,除非MySQL以root系统用户运行。
  · --skip-character-set-client-handshake
  忽略客户端发送的字符集信息,使用服务器的默认字符集。(选择该选项,MySQL的动作与MySQL 4.0相同)。
  · --socket=path
  用于本地连接的Unix套接字文件。
  · --timezone=zone
  为给定的选项值设置TZ时区环境变量。从操作系统文档查阅合法的时区规定格式。
  · --user={user_name | user_id}
  以用户名user_name或数字用户ID user_id运行mysqld服务器。(本文中的“用户”指系统登录账户,而不是 授权表中的MySQL用户)。
  执行mysqld_safe时,必须先给出--defaults-file或--defaults-extra-option,或不使用选项文件。例如,该命令将不使用选项文件:
  mysqld_safe --port=port_num --defaults-file=file_name相反,使用下面的命令:
  mysqld_safe --defaults-file=file_name --port=port_num一般情况mysqld_safe脚本可以启动从源码或二进制MySQL分发版安装的服务器,即使这些分发版将服务器安装到稍微不同的位置。(参见2.1.5节,“安装布局”)。 mysqld_safe期望下面的其中一个条件是真的:
  · 可以根据调用mysqld_safe的目录找到服务器和数据库。在二进制分发版中,mysqld_safe看上去在bin和data目录的工作目录下。对于源码分发版,为libexec和var目录。如果你从MySQL安装目录执行mysqld_safe应满足该条件(例如,二进制分发版为/usr /local/mysql)。
  · 如果不能根据工作目录找到服务器和数据库,mysqld_safe试图通过绝对路径对它们定位。典型位置为/usr/local/libexec和 /usr/local/var。实际位置由构建分发版时配置的值确定如果MySQL安装到配置时指定的位置,它们应该是正确的。
  因为mysqld_safe试图通过工作目录找到服务器和数据库,只要你从MySQL安装目录运行mysqld_safe,可以将MySQL二进制分发版安装到其它位置:
  shell> cd mysql_installation_directoryshell> bin/mysqld_safe &如果mysqld_safe失败,即使从MySQL安装目录调用仍然失败,你可以指定--ledir和--datadir选项来指示服务器和数据库在你的系统中的安装目录。
  一般情况,你不应编辑mysqld_safe脚本。相反,应使用命令行选项或my.cnf选项文件的[mysqld_safe]部分的选项来配置mysqld_safe。一般不需要编辑mysqld_safe来正确启动服务器。但是,如果你编辑,将来升级MySQL后会覆盖你修改的mysqld_safe版本,因此你应对你修改的版本进行备份以便将来重装。
  在NetWare中,mysqld_safe是一个NetWare Loadable Module (NLM),从原Unix shell脚本移植。它执行:
  1. 检查系统和选项。
  2. 检查MyISAM表。
  3. 保持MySQL服务器窗口。
  4. 启动并监视mysqld,如果因错误终止则重启。
  5. 将mysqld的错误消息发送到数据目录中的host_name.err 文件。
  6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件

本文来自CSDN博客http://blog.csdn.net/rj03hou/archive/2010/01/06/5143434.aspx

mysqld与mysqld_safe的区别相关推荐

  1. mysqld或mysqld_safe启动时必须放在第一位的参数(first argument)

    多个mysql实例在一个主机上,/etc/下已经有了一个my.cnf ,  新的实例使用其他路径的my.cnf 文件,  启动的时候--pid-file 放在 --defaults-file 前面就会 ...

  2. mysql5.6.30源码安装_Centos7.1 for MySQL5.6.30源码安装及多实例配置

    预备工作: OS:Centos7.1 DATABASE: mysql-5.6.30.tar.gz wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5. ...

  3. 云服务器如何重新引导,重新启动server服务器

    SQL Server 系统数据库恢复 方法1:在配置管理器中,右键实例在启动参数中添加-m(注意是小写的m),重新启动服务,处理完之后记得把-m参数去除重新启动服务.方法2:在cmd中,使用net s ...

  4. \(^_^)/ MySQL语句

    一.连接mysql. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...

  5. mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql的理解

    刚接触mysql,很容易被mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql弄晕 他们是命令.进程.服务.程序.脚本 最近学习 ...

  6. 第三章·MySQL版本区别及管理

    一.MySQL5.6与MySQL5.7安装的区别 二.MySQL用户权限管理 三.MySQL连接管理 四.MySQL启动关闭流程 五.MySQL实例初始化配置 六.MySQL多实例配置 一.MySQL ...

  7. service: no such service mysqld 与 MySQL 的开启、关闭和重启

    1.问题原因与解决办法 因为修改了 MySQL 临时文件的目录后,使用service mysqld restart重启 MySQL 出现如下错误: service: no such service m ...

  8. kill不掉mysqld

    Preface 以前想停止mysql服务,都是执行类似如此的命令service mysql stop.前阵子某次操作我试图kill -9 掉mysqld,但是mysqld始终都是存在的. 经过一番搜索 ...

  9. mysql脚本解读_一篇很好的关于mysqld_safe脚本源码解读的文章,收藏了!!

    #!/bin/sh# 一些状态变量的定义 KILL_MYSQLD=1; # 试图kill多余的mysqld_safe程序,1表示需要kill MYSQLD=# mysqld二进制可执行文件的名称 ni ...

最新文章

  1. 使用ROW_NUMBER 和partition by 解决报表中的查询问题
  2. Newtonsoft.Json(Json.net)的基本用法
  3. Postgresql 物理热备份 -- 快照备份
  4. 聚焦视频文本检索:一文概览视频文本检索任务最新研究进展
  5. Spring MVC 学习笔记一 HelloWorld
  6. mongodb 搜索速度_MongoDB数据库查询性能提高40倍的经历分享
  7. Github上的版本和本地版本冲突的解决方法
  8. Python 成数据科学家首选语言
  9. Flutter Fish-Redux插件入门指南
  10. gcc编译器入门教程
  11. 月薪30k的PHP架构师的成长路线图1.0!
  12. mac 运行android模拟器速度慢,Android模拟器速度慢 启动时间长的解决办法
  13. 智能鱼塘远程检测控制系统
  14. matlab中加载数据方式,【转帖】Matlab数据导入方法
  15. 正则表达式匹配连续出现的单词
  16. 权宜之计是什么意思_四代火影死后,为什么没有五代火影上任?网友:纲手还在赌钱呢...
  17. 开源库实现SwitchButton开关按钮
  18. CCF A类会议或期刊----多视图,多模态近两年论文
  19. rogabet notepad 1.5
  20. ie浏览器不使用代理设置

热门文章

  1. 【C++】运算符重载 Operator Overload
  2. IntelliTest实战直通车(上集)
  3. iframe显示错误页面
  4. databtables 设置(显示)行号
  5. [转]如何将属性表嵌入对话框中显示
  6. Solaris 10装置jdk1.6及改削成默许JDK
  7. WEBTIMER控件研究的心得:丢开书本做一个WebTimer
  8. axis2 java.net.url_axis,axis2调用.net的webservice
  9. 什么是python编程例子_案例详解:优化Python编程的4个妙招
  10. 单机mysql能支撑起10w的qps_高并发redis - 读写分离支撑qps10w+