1.问题原因与解决办法

因为修改了 MySQL 临时文件的目录后,使用service mysqld restart重启 MySQL 出现如下错误:

service: no such service mysqld

错误原因:
是因为我们在编译安装 MySQL 时没有将 MySQL 的服务脚本 mysql.server 拷贝到 /etc/init.d/ 中。

解决办法:
将MySQL的安装目录下的support-files/mysql.server拷贝到/etc/init.d/中,并重命名为mysqld。拷贝命令如下:

#我的mysql安装路径是:/usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

2.service 命令的工作原理

service 命令,顾名思义,就是用于管理 Linux 操作系统中服务的命令。可以用来启动、关闭和重启系统服务,还可以显示所有系统服务的当前状态。

但是,能够使用service命令进行操作的,就是已经注册成为 linux 的系统服务了。window 中也可以注册成为系统服务。那么如何注册成为系统服务呢?

比如从网上下载一个新的软件,安装到 Linux上面去。想注册成系统服务,我需要自己编写一个 Shell 服务脚本文件才行。这个服务脚本文件如何编写呢?如果不了解 servcie 命令的机制,会漏掉一些东西了。比如我之前下载的 sphinx 安装到服务器后。我想使用 “service sphinx start” 这样的简短命令来管理,就必须注册成为系统服务,而有些软件的源码包中是没有提供写好的脚本的,有时必须自己写一个。但是,幸好MySQL 自带了服务脚本可供 service 命令调用,也就是上面的 mysql.server 这个脚本,我们要做的就是将 MySQL 的服务脚本拷贝到 /ect/init.d/ 目录下,并重命名为 mysqld。

与 service 相关的 chkconfig 命令的作用?
service 命令可以快速地开启和停止 Linux 中的服务程序,这在调试过程中非常有用 chkconfig 命令可以快速地设置开机时需要自动启动的服务程序。

这两个命令的功能都可以通过其他方法实现,只不过有了它们之后更加方便,维护工作可以更加轻松。

chkconfig 命令的用法不再赘述!网上自行查阅!

3./ect/init.d/ 目录存放的是什么

在 Linux 中,/etc/init.d 和 /etc/rc.d/init.d这两个目录,都是用来放服务脚本的,这两个目录一般不会同时存在,因为功能是一样的。当 Linux 启动时,会根据 chkconfig 命令设置 run level 来确定是否启动相应的程序,如果启动的话就回去寻找这些目录中的服务脚本,并启动相应的程序。

4.不使用 service 如何开启、关闭、重启 MySQL

如果没有将 MySQL注册为系统服务,那么我们可以使用 MySQL 为我们提供的一些工具来开启、关闭和重启 MySQL。当然,MySQL 服务脚本对 MySQL 的操作也是调用这些工具来完成的。这些工具都在 MySQL 的安装目录的 bin 目录中。如下图:

如果我们按照上面的操作将 MySQL 注册为系统服务的话,使用 service 来开启、关闭和重启 MySQL 非常方便,命令如下:

#重启
service mysqld restart#开启
service mysqld start#关闭
service mysqld stop

或者运行服务脚本 mysqld 或者 mysql.server:

#启动
/etc/inint.d/mysqld start#关闭
/etc/inint.d/mysqld stop#重启
/etc/inint.d/mysqld restart

不使用 service 如何开启、关闭和重启 MySQL,也就意味这不使用 MySQL 为我们提供的服务脚本mysql.server 来管理 MySQL 的开启和关闭。但我们可以使用如下工具来完成。

开启 MySQL:

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --log-error=/usr/local/mysql/data/Tencent_IM.err --pid-file=/usr/local/mysql/data/Tencent_IM.pid --socket=/tmp/mysql.sock --port=3306

有点长,上面是我黏贴正在运行的 MySQL 进程,大家也可以在关闭 MySQL之前使用 ps 命令查看,并复制一下。

或者使用 mysqld_safe 来启动 MySQL:

mysqld_safe --user=mysql &

关闭 MySQL:

mysqladmin -u[username] -p[password] shutdown

重启 MySQL:
查看 MySQL 的服务脚本 mysql.server 或者 mysqld,我发现重启 MySQL也是先关闭,再启动。所以没有直接重启的命令,还是乖乖的先关闭,再启动吧!

当然,利用 MySQL 提供的工具来控制 MySQL 的开启和关闭,应该还有其它的方法,我目前还不要太清楚,有知道的请留言告知,万分感谢!

5.MySQL 和 mysqld 的区别

mysqld(mysql deamon)是服务端程序,是 MySQL提供服务的主要程序,提供服务的还有很多其它的程序,见 MySQL 安装路径下的 bin 目录。

mysql 是客户端程序,负责与服务端通信,将 sql 语句发送值服务端解释执行并接收结果。

**还要注意一点,**我们习惯把 MySQL 的服务脚本 mysql.server 更名为 mysqld 放在 /etc/init.d/ 目录下,将 MySQL 注册为系统服务。


参考文献

[1] service- no such service mysqld
[2] linux中注册系统服务—service命令的原理通俗
[3] Linux目录/etc/init.d 与 /etc/rc.d/init.d
[4] 请问mysqld与mysql命令区别?

service: no such service mysqld 与 MySQL 的开启、关闭和重启相关推荐

  1. Linux下Mysql启动、关闭、重启指令

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  2. Mac入门--Apache/Php/Mysql的开启关闭

    注意:mac自带apache环境和PHP环境 一 php服务的启动和关闭 php-fpm 启动 sudo php-fpm php-fpm 关闭 1 查看php-fpm端口是否在被php-fpm进程 n ...

  3. Windows下Mysql数据库服务的关闭和重启

    有时我们在手动修改了Mysql的配置文件之后,我们要重启Mysql服务才能使之生效,这里提供几种重启方法: 1.windows下重新启动mysql5的方法: 在安装mysql时系统会添加服务,可以通过 ...

  4. mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql的理解

    刚接触mysql,很容易被mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql弄晕 他们是命令.进程.服务.程序.脚本 最近学习 ...

  5. systemctl status mysqld.service或者systemctl start mysqld 启动失败的解决办法

    报错过程: mysql需要启动,执行一下命令启动mysql: systemctl start mysqld.service 结果出现如下提示 Job for mysqld.service failed ...

  6. 2021-04-06 neo4j Service stop failed - service ‘neo4j’ not found 请问怎么解决?

    识别不到neo4j服务命令? 在win环境下配置安装好了neo4j社区版,版本号为3.5.5.安装完发现在黑屏终端下只认识neo4j console命令,stop,strat都报错! Service ...

  7. How to consume AIF service(即WCF service) in SSIS project

    最近在使用AIF做connectors时遇到一个问题,就是无法在SSIS里调到script component里C#code引用的AIF service. SSIS script component ...

  8. MySQL忘记root密码不重启mysqld的方法

    MySQL忘记root密码不重启mysqld的方法 1.首先得有一个可以拥有修改权限的mysql数据库账号,当前的mysql实例账号(较低权限的账号,比如可以修改zabbix数据库)或者其他相同版本实 ...

  9. Failed to start mongod.service: Unit mongod.service not found

    Failed to start mongod.service: Unit mongod.service not found sudo systemctl enable mongod sudo serv ...

最新文章

  1. 程序员入职锦囊妙计 --读书笔记
  2. Yii AR Model CRUD数据库操作
  3. 富文本编辑器Quill(二)上传图片与视频
  4. 坚持学习打卡的人,将来会变成什么样?
  5. 嵌入式系统HAL原理与BSP的实现方法
  6. 网管日志-06.09.26
  7. 关注 | 新冠病毒这次的突变毒株太可怕,与人受体亲和力提高了1000倍,传播提高70%!已经成为伦敦地区主要毒株...
  8. C#LeetCode刷题之#55-跳跃游戏(Jump Game)
  9. 刀片 显卡 排行_沈阳家政连锁公司前十名排行榜
  10. 初学FineReport(二)
  11. tensorflow随笔——Yolo v1
  12. mysql到es的交叉验证
  13. 讲讲C#中的事件和标准事件1--委托
  14. 中国分布式光纤传感(DFOS)行业竞争现状与未来趋势预测报告2022-2027
  15. 帆软报表决策系统自定义登录界面 使用验证码登录 教程二
  16. 【人工智能项目】LSTM实现电影评论情感分类实验
  17. 接私活 静态网页制作
  18. Jenkins 如何使用 CrumbIssuer 防御 CSRF 攻击
  19. Hadoop/Hive-学习笔记【中级篇】
  20. SWFObject是什么

热门文章

  1. 查看linux服务器内存使用情况,不够时创建Swap、手动 cached
  2. 10.2 广州集训 Day1
  3. Activity实现 高亮显示活动节点,和所有已完成过的节点
  4. 数据流图技术相关基础知识
  5. 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示4
  6. linux IPv4报文处理浅析
  7. 【SICP归纳】2 高阶函数和数据抽象
  8. 通过 Python 装饰器实现DRY(不重复代码)原
  9. 使用Python批量替换指定目录所有文件中的指定文本
  10. Flask + Vue.js : Fullstack Development