mysql随Linux开机自动启动_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql随Linux开机自动启动_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3025字,纯文字阅读大概需要5分钟。
内容图文
![mysql随Linux开机自动启动_MySQL](/upload/InfoBanner/zyjiaocheng/570/50e2ec85df1641579e5db7c4bc40dcd2.jpg)
要实现随开启自动启动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。
内容总结
以上是互联网集市为您收集整理的mysql随Linux开机自动启动_MySQL全部内容,希望文章能够帮你解决mysql随Linux开机自动启动_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。