【问题标题】:Does "service mysql start" start the mysql server or client?“service mysql start”是否启动mysql服务器或客户端?
【发布时间】:2014-08-09 19:17:48
【问题描述】:

“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”是服务器的进程。我假设“service mysql start”只会启动mysql客户端(而不是服务器),我可以使用这个客户端连接到任何mysql服务器。如果我没有使用“service mysqld start”,本地主机上不会启动任何服务器,因此我不能使用 mysql 客户端连接到任何本地 mysql 服务器。我的理解正确吗?

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

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

【问题讨论】:

  • 欢迎来到 StackOverflow!您的问题在这里相当离题,因为它与编程无关。对于此类问题,ServerFault 将是 StackExchange 的正确位置。但是我的一个说明:它正在启动服务器,请参阅RedHats documentation
  • 它启动服务器。客户端是用户和服务器之间的接口,或者是编程语言和服务器之间的接口。
  • @VMai - 您提供的链接表明要启动服务器,需要以下命令:“service mysqld start”

标签: mysql redhat


【解决方案1】:

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

service mysql start

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

有些发行版以不同的方式命名它们的初始化脚本,例如 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

【讨论】:

  • 这是一个很好的总结和澄清 - “总结一切:# service mysql start 将启动服务器(守护进程/服务),然后你可以使用 $ mysql -u root -p 连接到它” - 这完美地总结了一切。
【解决方案2】:

如果您使用命令“service mysqld start”,这将在 RHEL 中启动 mysql 服务器。 实际上,名称“mysqld”取决于 init.d 脚本名称。如果在 init.d 脚本中将其称为“mysql”,则“mysql”将起作用。这因发行版而异。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2018-07-17
      • 2018-11-10
      • 2020-05-06
      • 2013-04-14
      • 2016-12-10
      • 2012-10-25
      • 2017-09-19
      • 2021-04-02
      • 1970-01-01
      相关资源
      最近更新 更多