MySQL非服务运行解决方法(mysql不以服务运行)

MySQL非服务运行解决方法

MySQL是一种流行的关系型数据库管理系统,可以用于管理各种类型的数据。大多数MySQL安装都作为服务安装在系统中,这种方式可以使MySQL自动启动和停止。但有时候,我们需要MySQL以非服务运行的方式,例如在测试和开发环境下,为了更方便地进行调试和管理。本篇文章将介绍如何以非服务运行的方式启动和停止MySQL,并附上相应的代码。

启动MySQL

以非服务运行的方式启动MySQL可以使用以下命令:

“`bash

$ cd /usr/local/mysql/bin/

$ sudo ./mysqld_safe &


这将启动mysqld_safe进程,它会启动MySQL服务。如果您遇到权限问题,请使用sudo以root用户身份运行命令。&符号在命令末尾表示在后台运行。

如果您需要指定MySQL配置文件,可以使用以下命令:

```bash
$ cd /usr/local/mysql/bin/
$ sudo ./mysqld_safe --defaults-file=/etc/mysql/my.cnf &

停止MySQL

以非服务运行的方式停止MySQL可以使用以下命令:

“`bash

$ cd /usr/local/mysql/bin/

$ sudo ./mysqladmin -u root -p shutdown


此命令将使用mysqladmin工具关闭MySQL服务器。请注意,您需要使用root账户,并且需要输入root密码。

自动启动MySQL

如果您需要在系统启动时自动启动MySQL,请创建以下文件并保存为/etc/init.d/mysql:

```bash
#!/bin/bash
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: MySQL Server
### END INIT INFO

# Author: George Notaras
# Version: 0.9.0

# Path variables
BASE=/usr/local/mysql
DATA=$BASE/data
CONF=/etc/mysql/my.cnf

# Path to the mysql client binary
MYSQL=$BASE/bin/mysql

# Path to the mysqladmin binary
MYSQLADMIN=$BASE/bin/mysqladmin

# Path to mysqld_safe binary
MYSQLD_SAFE=$BASE/bin/mysqld_safe

# PID file
PID=$DATA/$(hostname).pid

# Does the pid file exist?
PID_EXISTS=`test -f $PID && echo "yes" || echo "no"`

case $1 in

start)
if [ "$PID_EXISTS" == "yes" ]; then
echo "MySQL is already running ..."
exit 1
else
echo "Starting MySQL ..."
$MYSQLD_SAFE --defaults-file=$CONF &
fi
;;

stop)
if [ "$PID_EXISTS" == "no" ]; then
echo "MySQL is not running ..."
exit 1
else
echo "Stopping MySQL ..."
$MYSQLADMIN -u root -p shutdown
fi
;;

restart)
if [ "$PID_EXISTS" == "no" ]; then
echo "MySQL is not running ..."
else
echo "Stopping MySQL ..."
$MYSQLADMIN -u root -p shutdown
sleep 2
fi
echo "Starting MySQL ..."
$MYSQLD_SAFE --defaults-file=$CONF &
;;

*)
echo "Usage: $0 {start|stop|restart}"
exit 1

esac

exit 0

然后运行以下命令来配置文件权限并启用自动启动:

“`bash

$ sudo chmod 755 /etc/init.d/mysql

$ sudo update-rc.d mysql defaults


现在,MySQL将在系统启动时自动启动。

总结

本篇文章介绍了如何以非服务运行的方式启动和停止MySQL,并附上了相应的代码。通过此方法,您可以更方便地进行调试和管理。如果您需要在系统启动时自动启动MySQL,请按照我们提供的步骤进行配置。

数据运维技术 » MySQL非服务运行解决方法(mysql不以服务运行)