mysql启动脚本怎么写
时间 : 2023-03-07 23:27:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

一、编写MySQL启动脚本

MySQL的启动脚本可以编写为一个Shell脚本,可以在Linux系统中使用systemctl来管理。以下是一个简单的MySQL启动脚本:

```sh

#!/bin/bash

# MySQL启动脚本

MYSQL_USER=mysql

MYSQL_GROUP=mysql

MYSQL_HOME=/usr/local/mysql

MYSQL_BIN=${MYSQL_HOME}/bin

# 启动MySQL服务

start_mysql()

{

# 检查MySQL服务是否已经启动

pid=`ps -ef | grep mysqld | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]; then

echo "MySQL is running, pid=$pid"

return

fi

# 启动MySQL服务

echo "Starting MySQL..."

${MYSQL_BIN}/mysqld --user=${MYSQL_USER} --basedir=${MYSQL_HOME} --datadir=${MYSQL_HOME}/data &

sleep 5

# 检查MySQL服务是否已经启动成功

pid=`ps -ef | grep mysqld | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]; then

echo "MySQL started successfully, pid=$pid"

else

echo "MySQL failed to start"

fi

}

# 停止MySQL服务

stop_mysql()

{

# 检查MySQL服务是否已经停止

pid=`ps -ef | grep mysqld | grep -v grep | awk '{print $2}'`

if [ -z "$pid" ]; then

echo "MySQL is not running"

return

fi

# 关闭MySQL服务

echo "Stopping MySQL..."

kill -9 $pid

sleep 5

# 检查MySQL服务是否已经停止

pid=`ps -ef | grep mysqld | grep -v grep | awk '{print $2}'`

if [ -z "$pid" ]; then

echo "MySQL stopped successfully"

else

echo "MySQL failed to stop"

fi

}

# 检查MySQL服务状态

check_mysql()

{

# 检查MySQL服务是否已经启动

pid=`ps -ef | grep mysqld | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]; then

echo "MySQL is running, pid=$pid"

else

echo "MySQL is not running"

fi

}

# 主函数

case "$1" in

start)

start_mysql

;;

stop)

stop_mysql

;;

restart)

stop_mysql

start_mysql

;;

status)

check_mysql

;;

*)

echo "Usage: $0 {start|stop|restart|status}"

;;

esac

该脚本分别提供了启动、停止、重启和检查MySQL服务状态的功能。其中,启动MySQL服务的方法是使用mysqld命令,并指定了MySQL的用户、基础目录和数据目录等参数。

二、设置MySQL启动脚本

编写好MySQL启动脚本后,还需要设置脚本的权限和位置。以下是设置方法:

1.将MySQL启动脚本保存为mysql.sh,并将其放置在/etc/init.d目录下:

```sh

sudo mv mysql.sh /etc/init.d/

2.设置脚本的权限:

```sh

sudo chmod +x /etc/init.d/mysql.sh

3.注册MySQL服务:

```sh

sudo chkconfig --add mysql.sh

4.启动MySQL服务:

```sh

sudo systemctl start mysql.sh

5.检查MySQL服务状态:

```sh

sudo systemctl status mysql.sh

如果输出结果中显示MySQL服务正在运行,则表示MySQL已经启动成功。

三、总结

以上就是编写MySQL启动脚本的方法,使用该脚本可以方便地启动、停止、重启和检查MySQL服务。在实际使用中,还可以根据需要修改脚本的参数和命令