<b>mysql随Linux开机自动启动</b>[MySQL防范]
本文“<b>mysql随Linux开机自动启动</b>[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在MySQL的管理历程中,无领悟碰到一些PC Server宕机大概重启,这时我需求在主机启动后再将MySQL服务启动.普通情形下,这项工作都是简单的.但是,当面对上百台大概更多的MySQL主机的时刻,这种"无意"大概会很多,这种"无意"还会在午夜大概清晨发生,假如每次都手动操作,这是很烦琐的.更重要的是,假如因此而打断了清晨的好梦是不值得的.
要实现随开启自动启动mysqld,我们需求搞定以下几个问题:
1. Linux开机自动启动脚本放在哪儿?
普通的,作为服务器利用的Linux普通会以"完好多用户情势(Multi-User Mode with Networking)"级别来启动,这种情形下Linux在启动时会运行/etc/rc.d/rc3.d/下的全部脚本.比方我们在这个目录下会看到脚本"/etc/rc.d/rc3.d/S90crond",意味着开机启动时会运行S90crond脚本.
2. Linux若何运行这些脚本?
既然已经知道自动启动脚本该放在哪儿了,一切就好办.我们只需求将一个启动MySQL的脚本放过去就行了.下面是我们的一个简单的启动脚本v0.1 mysqldauto
$vi mysqldauto
#!/bin/sh
# Version: 0.1 by orczhou@gmail.com
/opt/mysql/bin/mysqld_safe --user=mysql & #这里需求改正成你的mysqld_safe目录
$chmod +x mysqldauto
$mv mysqldauto /etc/rc.d/init.d/
$ln -s /etc/rc.d/init.d/mysqldauto /etc/rc.d/rc3.d/S99mysqld
这样我们就把成立的mysqldauto脚本放到了/etc/rc.d/rc3.d/下面(注意这里利用了link的方法),mysqld可以自动启动了.
这有两个问题需求注释:
* * * * * 为什么不直接在目录/etc/rc.d/rc3.d/下成立文件,而要成立一个软衔接?这并非必须的.但是这样做是有很多好处的(背面会注释),不过这样做至少会看起来越发专业.
* * * * * 为什么文件名要用S99mysqld?这是法则,在rc3.d下面的脚本假如以字母S开首,那么履行时Linux会给它传送一个start参数(假如以字母K开首,则会传送stop参数);S背面接个数字,表示了这个脚本的启动次序,假如目录rc3.d下还有S98*那么它会在S99之前运行.(看到这儿,你可以猜想一下前面我们为什么要成立软衔接了)
好了,自此你的mysqld就已经可以随Linux开机自动启动了.
3. 怎样做更专业些?
上面这样做,已经可以办理问题了,不过写法多少有些"山寨",下面我们看看怎样改革一下.
* * * * * 改革1:处理参数start.既然前面提到以字母S开首的脚本会自动传送一个参数start,K则会传送stop.那么我再做以下改正:
$vi mysqldauto
#!/bin/sh
# Version: 0.2 by orczhou@gmail.com
MYSQLHOME=/opt/mysql #这里需求改正成你的mysql安装目录
if [ $# -ge 1 ];then
mysqldProc=`ps -ef|grep -E "mysqld.+safe"|grep -v "grep"|wc -l`
if [ $1 = "stop" ] ;then
if [ $mysqldProc -eq 1 ];then
$MYSQLHOME/bin/mysqladmin -uroot shutdown
fi
elif [ $1 = "start" ];then
if [ $mysqldProc -eq 0 ];then
$MYSQLHOME/bin/mysqld_safe --user=mysql &
fi
fi
fi
做了如此改革后,我们脚本需求接纳两个参数start stop了.假如你想让你mysqld在关闭主机的时刻自动关闭,那么stop参数便可以起作用了:
$ln -s /etc/rc.d/init.d/mysqldauto /etc/rc.d/rc0.d/K20mysqld
这里做软衔接好处就表现出来了,启动和关闭只需求用一个脚本便可以了.
* * * * * 改革2:当你面对几十上百台主机的时刻,MySQL的启动参数大概会不一样,比方备库启动时大概需求mysqld_safe –user=mysql –read_olny=1 &,这种情形怎么办呢?这里供应一个办理思绪.
在主机上运行一个脚本,探测当前mysqld的启动参数,然后写到一个指定的文件里.最后,在你的启动脚本中,读取这个文件里面的启动参数来启动mysqld.It works.
以上是“<b>mysql随Linux开机自动启动</b>[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |