Home  >  Article  >  Database  >  Teach you how to start and stop Mysql service 2

Teach you how to start and stop Mysql service 2

Y2J
Y2JOriginal
2017-05-23 14:44:031550browse

3. Stop the server
To start the server manually, use MySQLadmin:

%mysqladmin shutdown

To automatically stop the server, you don’t need to do anything special. BSD systems typically stop services by sending a TERM signal to processes, which either respond to it correctly or are killed rudely. mysqld responds by terminating when it receives this signal. For System V-style systems that use mysql.server to start the server, the stop process will call the script with a stop parameter to tell the server to terminate, assuming of course that you have mysql.server installed.

4. If you cannot connect to the server, how to regain control of the server

In some cases, you may manually restart the server because you cannot connect to it. Of course, this is a bit of a contradiction. Because generally you turn it off manually by connecting to the server, then how does this happen?

First, the MySQL root password may have been set to a value you don't know. This may happen when you change the password, for example, if you accidentally type an invisible control character when entering the new password. You may also forget your password.

Secondly, connecting to localhost is usually done through a Unix domain socket file, usually /tmp/mysql.sock. If the socket file is deleted, local clients cannot connect. This may happen when your system runs a cron job that deletes temporary files in /tmp.

If you are unable to connect because the socket file is missing, you can simply recreate it by restarting the server. Because the server recreates it on startup. The trick here is that you can't establish a connection with the socket because it's gone, you have to establish a TCP/IP connection, for example, if the server host is pit.snake.net, you can connect like this:

% mysqladmin -p -u root -h pit.snake.net shutdown

If the socket file is deleted by a cron task, the problem will reoccur unless you modify the cron task or use one or use a different socket socket file, you can use the global options file to specify a different socket. For example, if the data directory is /usr/local/var, you can change the socket by adding the following lines to /etc/my.cnf Move the file there:

[mysqld]
socket=/usr/local/var/mysql.sock

[client]
socket=/usr/local/var/ mysql.sock
Specify the path name for both the server and the client so that they both use the same socket file. If you only set the path for the server, the client will still expect to execute the socket at the original location, and restart the server after the change, causing it to create the socket at the new location.

If you are unable to connect because you forgot your root password or have set it to a different value than you thought, and you need to regain control of the server, you can set the password again:



Interrupt the server

If you log in to the server host as root, you can use the kill command to terminate the server. You can find out the server process ID using the ps command or by looking for the server's PID file (usually in the data directory).

It is best to first try a normal kill that sends a TERM signal to the server to see if it will respond with a normal termination. This way, tables and logs will be cleared correctly. If the server blocks and does not respond to a graceful termination signal, you can force-terminate it with kill -9. This is a last resort, as there may be unflushed modifications, and you risk leaving the table in an inconsistent state.

If you terminate the server with kill -9, be sure to check your tables with myisamchk and isamchk before starting the server.
Use the --skip-grant-table option to restart the server.
This tells the server not to use the authorization table to authenticate the connection, which allows you to connect as root without a password. After you are connected, change the root password.
Use mysqladmin flush-privileges to tell the server to start using the authorization table again
If your version of mysqladmin does not recognize Flash-privileges, try reload.

5. Running Multiple Servers

Most will run a single MySQL server on a given machine, but in many cases it is useful to run multiple servers:

You may want to test a new version of a server while leaving your production server running. In this case, you would run different server code.​
​ Operating systems generally limit the number of open file handles per process. If your system has difficulty raising this limit, running multiple servers is one way to work around the limit. In this case, you might be running multiple instances of the unified server.​
​ ISPs often provide their customers with their own MySQL installations, where it is necessary to involve a separate server. In this case, you might run multiple instances of the same version or different versions if different customers want different versions of MySQL.​
​ Naturally, running multiple servers is more complicated than running just one server. If you install multiple versions, you can't install everything in the same place. When a server is running, certain parameters must or are likely to be unique to each server. These include where the server is installed, the pathname of its data directory, the TCP/IP port and UNIX domain socket pathname used to run the server. The UNIX account of the server (if you no longer run all servers under the same account). If you decide to run multiple servers, be sure to pay attention to the parameters you use so you don't.

The above is the detailed content of Teach you how to start and stop Mysql service 2. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn