Home >Database >Mysql Tutorial >what is mysql.sock
"mysql.sock" is the socket file of mysql. When the mysql host and client are on the same host, unix socket is used as the carrier of the communication protocol. There are two ways to connect to MySQL locally under UNIX series systems: TCP connection and UNIX domain socket. The UNIX domain socket method requires a socket file, and you can use the "show variables like 'socket'\G;" command. Check the local socket file location.
The operating environment of this tutorial: linux7.3 system, mysql8 version, Dell G3 computer.
"mysql.sock" is the socket file of mysql.
When connecting to MySQL locally under a UNIX system, you can use the UNIX domain socket method. This method requires a socket file.
The socket file can be controlled by the parameter socket. Use the following command to view the location of the file:
show variables like 'socket'\G;
mysql.sock is when the mysql host and client are on the same host, using unix domain socket as the communication protocol carrier, it is faster than tcp.
MySQL has two main connection methods:
(1) TCP/IP
(2) socket
The most commonly used connection is TCP connection:
[root@mysql8 data]# mysql -h 192.168.103.67 -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 Server version: 8.0.15 MySQL Community Server - GPL Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Another way is this unix socket connection. It is faster than using tcp, but it is only applicable to mysql and the application on the same PC, relying on the local .sock file. If they are not on the same PC, there is no way to connect.
For mysql.sock, its function is that the program and MySQL Server are on the same machine and can be used when initiating a local connection.
For example, you do not need to define the specific IP to connect to the host, as long as it is empty or localhost.
In this case, even if you change the external port of MySQLl, it is still possible to connect normally.
Because after you change the port in my.ini or my.cnf, mysql.sock is generated every time MySQL Server starts. It has been regenerated once when you restarted mysql after changing my.cnf, and the information has been changed accordingly.
So for external connections, the port must be changed to connect.
When installing MySQL connection under Linux, I often get a prompt saying that the mysql.sock file cannot be found. The solution is very simple:
If it is a newly installed MySQL and it prompts that the file cannot be found, just Under Search, specify the correct location.
If the mysql.sock file is accidentally deleted, you need to restart the MySQL service. If the restart is successful, mysql.sock will be generated in the datadir directory and you can specify it at that time.
If that still doesn’t work, just choose to use TCP connection. In fact, pipe connection is also supported under Windows.
[Related recommendations: mysql video tutorial]
The above is the detailed content of what is mysql.sock. For more information, please follow other related articles on the PHP Chinese website!