service: no such service mysqld 与 MySQL 的开启、关闭和重启
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 的开启、关闭和重启相关推荐
- Linux下Mysql启动、关闭、重启指令
原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...
- Mac入门--Apache/Php/Mysql的开启关闭
注意:mac自带apache环境和PHP环境 一 php服务的启动和关闭 php-fpm 启动 sudo php-fpm php-fpm 关闭 1 查看php-fpm端口是否在被php-fpm进程 n ...
- Windows下Mysql数据库服务的关闭和重启
有时我们在手动修改了Mysql的配置文件之后,我们要重启Mysql服务才能使之生效,这里提供几种重启方法: 1.windows下重新启动mysql5的方法: 在安装mysql时系统会添加服务,可以通过 ...
- mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql的理解
刚接触mysql,很容易被mysqld,mysqld_safe,mysql.server,mysqladmin,mysql,service mysql弄晕 他们是命令.进程.服务.程序.脚本 最近学习 ...
- systemctl status mysqld.service或者systemctl start mysqld 启动失败的解决办法
报错过程: mysql需要启动,执行一下命令启动mysql: systemctl start mysqld.service 结果出现如下提示 Job for mysqld.service failed ...
- 2021-04-06 neo4j Service stop failed - service ‘neo4j’ not found 请问怎么解决?
识别不到neo4j服务命令? 在win环境下配置安装好了neo4j社区版,版本号为3.5.5.安装完发现在黑屏终端下只认识neo4j console命令,stop,strat都报错! Service ...
- How to consume AIF service(即WCF service) in SSIS project
最近在使用AIF做connectors时遇到一个问题,就是无法在SSIS里调到script component里C#code引用的AIF service. SSIS script component ...
- MySQL忘记root密码不重启mysqld的方法
MySQL忘记root密码不重启mysqld的方法 1.首先得有一个可以拥有修改权限的mysql数据库账号,当前的mysql实例账号(较低权限的账号,比如可以修改zabbix数据库)或者其他相同版本实 ...
- 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 ...
最新文章
- 程序员入职锦囊妙计 --读书笔记
- Yii AR Model CRUD数据库操作
- 富文本编辑器Quill(二)上传图片与视频
- 坚持学习打卡的人,将来会变成什么样?
- 嵌入式系统HAL原理与BSP的实现方法
- 网管日志-06.09.26
- 关注 | 新冠病毒这次的突变毒株太可怕,与人受体亲和力提高了1000倍,传播提高70%!已经成为伦敦地区主要毒株...
- C#LeetCode刷题之#55-跳跃游戏(Jump Game)
- 刀片 显卡 排行_沈阳家政连锁公司前十名排行榜
- 初学FineReport(二)
- tensorflow随笔——Yolo v1
- mysql到es的交叉验证
- 讲讲C#中的事件和标准事件1--委托
- 中国分布式光纤传感(DFOS)行业竞争现状与未来趋势预测报告2022-2027
- 帆软报表决策系统自定义登录界面 使用验证码登录 教程二
- 【人工智能项目】LSTM实现电影评论情感分类实验
- 接私活 静态网页制作
- Jenkins 如何使用 CrumbIssuer 防御 CSRF 攻击
- Hadoop/Hive-学习笔记【中级篇】
- SWFObject是什么
热门文章
- 查看linux服务器内存使用情况,不够时创建Swap、手动 cached
- 10.2 广州集训 Day1
- Activity实现 高亮显示活动节点,和所有已完成过的节点
- 数据流图技术相关基础知识
- 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示4
- linux IPv4报文处理浅析
- 【SICP归纳】2 高阶函数和数据抽象
- 通过 Python 装饰器实现DRY(不重复代码)原
- 使用Python批量替换指定目录所有文件中的指定文本
- Flask + Vue.js : Fullstack Development