【mysqld_safe 与 mysqld 区别】
直接运行mysqld程序来启动MySQL服务的方法很少见
mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它,相当于守护进程
用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见
非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用 mysqld_safe 脚本去启动MySQL 服务器的
1,功能上的不同
mysqld_safe 通常做如下事情:
01. 检查系统和选项
02. 检查MyISAM表
03. 保持MySQL服务器窗口
04. 启动并监视mysqld,如果因错误终止则重启
05. 将mysqld的错误消息发送到数据目录中的host_name.err 文件
06. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件
mysqld 的 mysql 数据库的核心程序,用于管理mysql的数据库文件以及用户的请求操作
2, 启动方式的不同
mysqld_safe 的常见启动方式 ./bin/mysqld_safe --defaluts-file=/root/software/mysql/my.cnf &
mysqld 常见的启动方式 ./bin/mysqld --defaults-file=/root/software/mysql/my.cnf &
3,加载的配置文件的不同
mysqld_safe 除了读取 [mysqld],[server],[myslqd_safe],[safe_mysqld] 四个的配置
mysqld_safe 可以自配置中用 -mysqld, --mysqld-version 指定开启那个 mysqld
【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}