service命令管理mysql启动和停止的方法介绍


本文摘自PHP中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于service命令管理mysql启动和停止的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

安装完成mysql之后,每次启动和停止都很麻烦,有时候记不住去网上搜一下,看见大家都用service来进行服务的管理,试了一下,果然好用。推荐大家也要这么用。

启动和停止mysql服务

1

2

3

4

# 启动

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/tmp/mysql.sock

# 停止

kill `cat /usr/local/mysql/var/mysqld.pid`

这样启动和停止需要记住mysql的路径和pid的保存位置,因此比较麻烦。

service 系统服务管理

service命令用于管理系统服务,比如启动(start),停止(stop),重启(restart),查看状态(status)等。service命令本身就是一个shell脚本,用于方便的调用该脚本来完成任务,它在/etc/init.d/目录下查找指定的服务脚本。

相关的命令还有:

chkconfig:用于查看、设置服务的运行级别

ntsysv:用于设置服务的自启动

service运行指定服务(称为System V初始脚本),只保留LANG和TERM两个环境变量,并设置当前路径为/。如果一个服务脚本想要由service进行管理,至少需要支持start和stop命令,并将脚本保存在/etc/init.d/目录下。

service的使用方式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

## 命令格式

Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]

 

# 查看指定服务的命令行使用帮助

service <service>

## mysqld 举例

$ service mysqld

Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]

 

# 启动、停止、重启指定服务

service <service> start|stop|restart

## mysqld举例restart,即先执行stop再执行start命令

$ service mysqld restart

Shutting down MySQL..                                      [  OK  ]

Starting MySQL.                                            [  OK  ]

 

# 显示指定服务的状态

$ service mysqld status

MySQL running (27390)                                      [  OK  ]

 

# 显示所有服务的状态

service --status-all

 

# 查看系统服务列表,以及每个服务的运行级别

chkconfig --list

 

# 设置指定服务开机时是否自动启动

chkconfig <service> on|off

 

# 以全屏幕文本界面设置服务开机时是否自动启动

# 必须以root启动,空格切换状态,tab切换按钮,上下鼠标移动光标

ntsysv

除了用mysqld示例外,我们修改了主机名、IP地址等信息时,也要经常重启网络生效,此时可以调用:

1

service network status|restart

用service管理mysqld服务

我们已经了解了基础的知识,现在就可以开始改造了,首先要在你的安装目录里找到mysql.server文件。

1

2

$ locate mysql.server

/usr/local/mysql/support-files/mysql.server

这个文件在安装时初始化,其实也就是一个脚本文件,支持输入不同的参数执行不同的功能,我们可以查看它的start函数:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

# 根据输入的命令执行不同的脚本,首先判断是否为start

case "$mode" in

  'start')

    # Start daemon

 

    # Safeguard (relative paths, core dumps..)

    cd $basedir

 

    echo $echo_n "Starting MySQL"

    # 查看该bin/mysqld_safe命令是否存在,如果不存在,就直接报错:找不到

    if test -x $bindir/mysqld_safe

    then

      # Give extra arguments to mysqld with the my.cnf file. This script

      # may be overwritten at next upgrade.

      # 直接执行mysqld_safe命令,并传入参数,然后创建pid文件

      $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &

      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

 

      # Make lock for RedHat / SuSE

      if test -w "$lockdir"

      then

        touch "$lock_file_path"

      fi

 

      exit $return_value

    else

      log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"

    fi

    ;;

 

  'stop')

然后将它复制到/tmp/init.d/目录下:

1

cp /usr/local/mysql/support-files/mysql.server /tmp/init.d/mysqld

此时,就可以直接调用service来进行启动了:

1

service mysqld start

遇到的一些问题

阅读剩余部分

相关阅读 >>

mysql死锁是什么意思

mysql笔记之视图的使用详解

mysql 5.7版本是怎么修改密码的?

mysql数据表中字段的数据类型有哪些?

理解mysql变量和条件

mysql数据库最简单的备份方法

mysql实现阶段累加的sql写法(代码示例)

mysql脏读怎么解决

数据库怎么增加表中字段

mysql数据插入效率比较

更多相关阅读请进入《日志》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...