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 variablesBASE=/usr/local/mysql
DATA=$BASE/dataCONF=/etc/mysql/my.cnf
# Path to the mysql client binary
MYSQL=$BASE/bin/mysql
# Path to the mysqladmin binaryMYSQLADMIN=$BASE/bin/mysqladmin
# Path to mysqld_safe binary
MYSQLD_SAFE=$BASE/bin/mysqld_safe
# PID filePID=$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,请按照我们提供的步骤进行配置。