且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

配置mysql的启动脚本(可以跟linux服务器一起启动)

更新时间:2022-06-17 19:17:10

[zhangshengdong@forummysql01 ~]$ cat /etc/rc.local(初始化脚本)
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/data/mysqldata/3306/mysql start


在写一个启动的shell脚本:
[zhangshengdong@forummysql01 ~]$ cat /data/3306/mysql 
#!/bin/sh

mysql_port=3306
mysql_username="xxx"
mysql_password="xxxxx"

function_start_mysql()
{
    printf "Starting MySQL...\n"
    /bin/sh /usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/data/${mysql_port}/my.cnf 2>&1 > /dev/null &
}

function_stop_mysql()
{
    printf "Stoping MySQL...\n"
    /usr/local/webserver/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /data/${mysql_port}/mysql.sock shutdown
}

function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 5
    function_start_mysql
}

function_kill_mysql()
{
    kill -9 $(ps -ef | grep 'bin/mysqld_safe' | grep ${mysql_port} | awk '{printf $2}')
    kill -9 $(ps -ef | grep 'libexec/mysqld' | grep ${mysql_port} | awk '{printf $2}')
}

if [ "$1" = "start" ]; then
    function_start_mysql
elif [ "$1" = "stop" ]; then
    function_stop_mysql
elif [ "$1" = "restart" ]; then
function_restart_mysql
elif [ "$1" = "kill" ]; then
function_kill_mysql
else
    printf "Usage: /data/${mysql_port}/mysql {start|stop|restart|kill}\n"
fi

这样就可以根据linux的启动的时候,启动