“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服务器。
任何澄清和解释都非常感谢 - 谢谢!
答案 0 :(得分:4)
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