Does “service mysql start” start the mysql server or client?

Does “service mysql start” start the mysql server or client?

I have done as much searching on this topic as I can, and the answers do seem all over the place. Some sites state that the “service mysql start” starts the server, while others state that one must use “service mysqld start”: e.g.: http://theos.in/desktop-linux/tip-that-matters/how-do-i-restart-mysql-server/

To elaborate some more – my understanding is that “mysql” is the process that represents the client interface that connects to a mysql server (either remote or local) and “mysqld” is the process for the server. I would assume that “service mysql start” would only start the mysql client (not the server) and I can use this client to connect to any mysql server. And if I haven’t used “service mysqld start”, no server would have been started on the local host and therefore I can’t use the mysql client to connect to any local mysql server. Is my understanding correct?

Also, I am using a Red Hat server.

Any clarifications and explanations most appreciated – Thanks!

Answer

mysql client is never (AFAIK) run as a service, so

service mysql start

will start mysql server. To be precise, this will start service that is described in /etc/init.d/mysql script.

Some distributions name their init script differently, for example mysqld. So you should just check your /etc/init.d/

You can check what exactly that scipt is doing, even if you don’t know bash. First few lines should contain short description, in case of my ubuntu installation it is:

# 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

So as you can see, mysql service script takes care of mysqld daemon (process). As opposed to mysql binary, found for example in /usr/bin which is client program and doesn’t require any service to be running on your OS.

To sum everything up:

# service mysql start

will start server (daemon/service), then you can connect to it with

$ mysql -u root -p

Leave a Reply

Your email address will not be published. Required fields are marked *