"服务mysql启动"启动mysql服务器或客户端?

时间:2014-08-09 19:17:49

标签: mysql redhat

“service mysql start”是否启动mysql服务器或客户端?

我尽可能多地搜索这个主题,答案似乎到处都是。有些网站声称“service mysql start”启动服务器,而其他网站声明必须使用“service mysqld start”:例如:http://theos.in/desktop-linux/tip-that-matters/how-do-i-restart-mysql-server/

详细说明 - 我的理解是“mysql”是表示连接到mysql服务器(远程或本地)的客户端接口的过程,而“mysqld”是服务器的进程。我假设“服务mysql启动”只会启动mysql客户端(而不是服务器),我可以使用此客户端连接到任何mysql服务器。如果我没有使用“service mysqld start”,则不会在本地主机上启动服务器,因此我无法使用mysql客户端连接到任何本地mysql服务器。我的理解是否正确?

另外,我使用的是Red Hat服务器。

任何澄清和解释都非常感谢 - 谢谢!

3 个答案:

答案 0 :(得分:4)

永远不会将mysql客户端(AFAIK)作为服务运行,所以

service mysql start

将启动mysql服务器。确切地说,这将启动/etc/init.d/mysql脚本中描述的服务。

某些发行版以不同的方式命名其init脚本,例如mysqld。所以你应该检查你的/etc/init.d /

即使您不知道bash,也可以检查该scipt究竟在做什么。 前几行应该包含简短描述,如果我的ubuntu安装它是:

# cat /etc/init.d/mysql
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          mysql
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      $network $time
# Should-Stop:       $network $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop the mysql database server daemon
# Description:       Controls the main MySQL database server daemon "mysqld"
#                    and its wrapper script "mysqld_safe".
### END INIT INFO

正如您所看到的,mysql服务脚本负责处理mysqld守护进程(进程)。与mysql二进制文件相反,例如在/ usr / bin中找到的是客户端程序,并且不需要在您的操作系统上运行任何服务。

总结一切:

# service mysql start

将启动服务器(守护程序/服务),然后您可以使用

连接到它
$ mysql -u root -p

答案 1 :(得分:0)

如果您使用命令“service mysqld start”,这将启动RHEL中的mysql服务器。 实际上,名称“mysqld”取决于init.d脚本名称。如果它在init.d脚本中被称为“mysql”,则“mysql”将起作用。这从发行版到发行版都有所不同。

答案 2 :(得分:0)

就我而言 systemctl restart rh-mysql57-mysqld.service