mysql.server详解

来源:互联网 发布:检查网络用ping命令 编辑:程序博客网 时间:2024/06/10 18:13
4.3.3mysql.server-服务器启动脚本    ++++++++++++++++++++    在unix上的mysql distributions包含了一个名为mysql.server的脚本,它使用mysqld_safe来启动mysql服务器;    它可以在linux和Solaris系统上使用,这些系统使用System V-style 指令去开启或者关闭系统服务;    It is also used by the OS X Startup Item for MySQL    关于MySQL 5.7.6,对于使用RPM安装的情况,服务器启动和关闭被一些Linux平台的systemd管理着。    在这些平台上,mysql.server 和 mysqld_safe 不会被安装,因为没必要。    shell> mysql.server start | stop     mysql.server 是脚本,start和stop是参数;    在mysql.server启动服务器之前,它将目录转换到mysql安装目录里去,然后调用mysqld_safe;    要使用特定用户来运行服务器,可以在/etc/my.cnf这个文件里边的[mysqld]组里边添加要给user选项,后面会讲;    (如果你使用二进制方式将mysql安装在一个“不标准”的位置,有可能你必须编辑mysql.server这个脚本文件;    通过修改mysql.server使得在运行mysqld_safe之前切换到合适的目录;    如果这样做的话,更新以后,你做的修改可能被覆盖;所以最好做一个拷贝;)    mysql.server通过向服务器发送一个信号来停止它;也可以使用mysqladmin shutdown命令来停止服务器;    想要在你的服务器上自动启动和关闭mysql的话,必须在合适/etc/rc*文件里边加入启动和关闭指令;    如果使用linux server RPM package(MySQL-server-VERSION.rpm)或者 a native linux package 安装,    mysql.server 脚本可能被安装在/etc/init.d目录下,名为mysql    一些厂商提供的RPM包自带一个启动脚本--名字可能不一样,比如:名为mysqld;    如果你使用源码或者二进制格式安装mysql(没有自动安装mysql.server这个脚本),你可以手动安装;    这个脚本在mysql安装目录下的support-files目录里边或者在源码包里边(自己找找);    手动安装的方法是将找到的mysql.server的脚本复制到/etc/init.d目录下,然后重命名为mysql,最后给予执行权限;    shell> cp mysql.server /etc/init.d/mysql    shell> chmod +x /etc/init.d/mysql        在一些老版本的红帽系统中,使用的是/etc/rc.d/init.d而不是/etc/init.d;        这样的话,我们要看情况调整前面的命令;        一种可选的方式:先给/etc/rc.d/init.d 目录创建一个软链接--/etc/init.d;    脚本安装之后呢,让它随系统开机自启动(具体做法取决于系统);    shell> chkconfig --add mysql    有的系统中,这个命令也不能少:shell> chkconfig --level 345 mysql on    有的系统使用/etc/rc.local 或者 /etc/init.d/boot.local 文件去在开机的时候启动第三方的服务;    这样的话,需要将启动命令写到这些文件中,比如:/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'    mysqld.server会从配置文件的[mysqld] [mysql.server] 区域读取配置选项;    为了向后兼容,mysqld.server也会读取[mysql_server]区域的配置选项,但是现在,应该使用[mysql.server]:    可以在全局配置文件/etc/my.cnf中配置mysql.server ,一个典型的/etc/my.cnf文件如下:    [mysqld]    datadir=/usr/local/mysql/var    socket=/var/tmp/mysql.sock    port=3306    user=mysql    [mysql.server]    basedir=/usr/local/mysql    mysql.server脚本支持下面这些选项;一旦指定,它们必须放在配置文件中,不能放到命令行中(mysql.server支持的命令行参数只有start和stop);     --basedir mysql安装目录;    --datadir 数据文件的路径;    --pid-file 服务器写自己的进程号的文件;        如果这个不指定,mysql使用默认的hostname.pid;        The PID file value被传递给mysqld_safe,覆盖了[mysqld_safe]下面指定的值;        因为mysql.server 读取[mysqld]选项组而不读取[mysqld_safe]选项组,所以为了在使用mysql.server 调用mysqld_safe的时候,        mysqld_safe能够获得一样的pid,我们可以让[mysqld]选项组和[mysqld_safe]选项组使用同一个pid-file;    --service-startup-timeout 等待服务器启动的时间,过了这个时间就报错,单位是秒,默认是900,0意味着不等,负值意味着一直等下去;    ++++++++++++++++++++
0 0
原创粉丝点击