linux中mysql开机自动启动3种方法

02-14

开机启动主要是把启动命令加入到linux的启动服务中去就可以实现了,具体给各位整理两段代码。

第一种手工简单加入即可实现开机自动启动mysql,后面是没事做写的一段shell代码。

mysql设为linux服务

代码如下

cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql5/
service mysqld start

下面是我们的一个简单的启动脚本v0.1 mysqldauto

代码如下
$vi mysqldauto
#!/bin/sh
# Version: 0.1 by [email protected]
/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可以自动启动了。

启动脚本

代码如下

#!/bin/sh
################################################
#Created by teddylu at 2012-12-12
#Used for mysql start,stop,restart
################################################

#init
port=3306
mysql_user="root"
mysql_pwd=""
CmdPath="/usr/local/mysql/bin"

#startup function
function_start_mysql()
{
printf "Starting MySQL...\n"
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &
}

#stop function
function_stop_mysql()
{
printf "Stoping MySQL...\n"
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
}

#restart function
function_restart_mysql()
{
printf "Restarting MySQL...\n"
function_stop_mysql
sleep 2
function_start_mysql
}

case $1 in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage: /data/${port}/mysql {start|stop|restart}\n"
esac