service mysqld restart与service mysql restart的区别
1、前言之前,遇到过在不同 linux 系统中启动或关闭 mysql,网上查询命令大都不一样,大致分为下面三种(以重启为例):service mysql restartservice mysqld restartservice mysql.server restart那么这几种究竟有什么区别,是版本原因还是配置原因?抽了个时间查询资料,搞明白了原因。2、service 服务配置直接说上面问题的答案
1、前言
之前,遇到过在不同 linux 系统中启动或关闭 mysql,网上查询命令大都不一样,大致分为下面三种(以重启为例):
service mysql restart
service mysqld restart
service mysql.server restart
那么这几种究竟有什么区别,是版本原因还是配置原因?抽了个时间查询资料,搞明白了原因。
2、service 服务配置
直接说上面问题的答案,是配置的原因!
上面三个重启 mysql 的命令,本质是通过 service 来启动的。service 命令,顾名思义,就是用于管理 Linux 操作系统中服务的命令。可以用来启动、关闭和重新启动系统服务,还可以显示所有系统服务的当前状态。
但是,能够使用 service 命令进行操作的,就是已经注册成为 linux 的系统服务了。window 中也可以注册成为系统服务。那么如何注册成为系统服务呢?
注册成系统服务分为两步:
- 第一步:编写一个 shell 服务脚本(有的程序是自带服务脚本的,可以不用自己写)
- 第二步:将该脚本服务复制到/ect/init.d/目录下
下面以 mysql 为例,来说一下将 mysql 注册成系统服务。
第一步:找到服务脚本
mysql 是自带服务脚本的,其位置在 mysql 安装目录下的 support-file 目录中,比如 mysql 安装目录为/usr/local/mysql,则:
如上图,mysql.server 就是其自带的服务脚本(代码太长了,这里就不贴图看了,有兴趣自己可以打开看看其代码)。
第二步:将该脚本服务复制到/ect/init.d/目录下
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
OK,到了这一步,我们就可以明白 service mysqld restart 与 service mysql restart 的区别了。
如果/etc/init.d/目录下存在的是 mysql.server 命令,那么要重启 mysql,只能使用:service mysql restart 或者 service mysql.server restart。
如果你将 mysql.server 重命名为 mysqld,那么要使用 service 命令重启 mysql,就必须要使用 service mysql restart。
说白了,就是看看你的服务脚本名称是什么了!
注意:如果/etc/init.d 目录没有找到,可以找/etc/rc.d/init.d 目录,两者都是用来放服务脚本的,这两个目录一般不会同时存在,如果同时存在一般会存在软连接,具体可以参考:Linux 之 init.d、rc.d 文件夹说明
更多推荐
所有评论(0)