在MySQL的管理过程中 偶尔会遇到一些PC Server宕机或者重启 这时我需要在主机启动后再将MySQL服务启动 一般情况下 这项工作都是简单的 但是 当面临上百台或者更多的MySQL主机的时候 这种 偶尔 可能会很多 这种 偶尔 还会在半夜或者凌晨发生 如果每次都手动 *** 作 这是很繁琐的 更重要的是 如果因此而打断了凌晨的美梦是不值得的
要实现随开启自动启动mysqld 我们需要搞定如下几个问题
Linux开机自动启动脚本放在哪儿?
一般的 作为服务器使用的Linux一般会以 完全多用户模式(Multi User Mode with Neorking) 级别来启动 这种情况下Linux在启动时会运行/etc/rc d/rc d/下的全部脚本 例如我们在这个目录下会看到脚本 /etc/rc d/rc d/S crond 意味着开机启动时会运行S crond脚本
Linux如何运行这些脚本?
既然已经知道自动启动脚本该放在哪儿了 一切就好办 我们只需要将一个启动MySQL的脚本放过去就好了 下面是我们的一个简单的启动脚本v mysqldauto
$vi mysqldauto
#!/bin/sh
# Version: by
/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/rc d/S mysqld
这样我们就把创建的mysqldauto脚本放到了/etc/rc d/rc d/下面(注意这里使用了link的方式) mysqld可以自动启动了
这有两个问题需要解释
* * * * * 为什么不直接在目录/etc/rc d/rc d/下创建文件 而要创建一个软连接?这并不是必须的 但是这样做是有很多好处的(后面会解释) 不过这样做至少会看起来更加专业
* * * * * 为什么文件名要用S mysqld?这是规则 在rc d下面的脚本如果以字母S开头 那么执行时Linux会给它传递一个start参数(如果以字母K开头 则会传递stop参数) S后面接个数字 表示了这个脚本的启动顺序 如果目录rc d下还有S *那么它会在S 之前运行 (看到这儿 你可以猜测一下前面我们为什么要创建软连接了)
好了 自此你的mysqld就已经可以随Linux开机自动启动了
怎样做更专业些?
上面这样做 已经可以解决问题了 不过写法多少有些 山寨 下面我们看看怎样改造一下
* * * * * 改造 处理参数start 既然前面提到以字母S开头的脚本会自动传递一个参数start K则会传递stop 那么我再做如下修改
$vi mysqldauto
#!/bin/sh
# Version: by
MYSQLHOME=/opt/mysql #这里需要修改为你的mysql安装目录
if [ $# ge ]then
mysqldProc=`ps ef|grep E mysqld +safe |grep v grep |wc l`
if [ $ = stop ] then
if [ $mysqldProc eq ]then
$MYSQLHOME/bin/mysqladmin uroot shutdown
fi
elif [ $ = start ]then
if [ $mysqldProc eq ]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/rc d/K mysqld
这里做软连接好处就体现出来了 启动和关闭只需要用一个脚本就可以了
* * * * * 改造 当你面临几十上百台主机的时候 MySQL的启动参数可能会不一样 例如备库启动时可能需要mysqld_safe –user=mysql –read_olny= &这种情况怎么办呢?这里提供一个解决思路
lishixinzhi/Article/program/MySQL/201311/29483
首先是我们将鼠标移动到如下图所示的计算机的图标上,点击右键,选择管理。
请点击输入图片描述
然后我们点击如下图界面中的服务和应用程序。
请点击输入图片描述
请点击输入图片描述
接下来可以看到它下面有一个我们的目标——服务。
请点击输入图片描述
请点击输入图片描述
服务的话它是按字母排列的,我们往下拉,找到Mysql服务。此时可以看到它是一个手动启动的状态。
请点击输入图片描述
请点击输入图片描述
在mysql服务上点击鼠标右键,选择属性。
请点击输入图片描述
请点击输入图片描述
然后跳出的如下图的界面中我们将手动改成自动,点击确定,这样你的mysql服备就是一个自启动的状态。
请点击输入图片描述
请点击输入图片描述
mysql重启后slave也会启动可以重启服务器。根据查询相关资料信息显示,默认情况下slave服务器重启后,mysq会自动启动复制链路,如果这个时候存在问题,则主从链路会中断,所以正常情况下,我们应该在服务器重启。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)