Home  >  Article  >  Database  >  Can't connect to local MySQL server through socket 'socket_name' (111) - How to solve the MySQL error: Can't connect to the local MySQL server through socket (111)

Can't connect to local MySQL server through socket 'socket_name' (111) - How to solve the MySQL error: Can't connect to the local MySQL server through socket (111)

PHPz
PHPzOriginal
2023-10-05 08:55:59870browse

Can\'t connect to local MySQL server through socket \'socket_name\' (111) - 如何解决MySQL报错:无法通过套接字连接到本地MySQL服务器(111)

How to solve the MySQL error: Unable to connect to the local MySQL server through the socket (111), specific code examples are needed

During the development process, we often encounter to issues related to database connections. One of the common problems is the MySQL error: "Can't connect to local MySQL server through socket 'socket_name' (111)". This error message means that the MySQL server cannot connect to localhost through the specified socket.

First, let’s understand the cause of this error. When we use the MySQL client program to connect to the MySQL server through a socket, if a connection error occurs, it is usually due to the following reasons:

  1. The MySQL server is not started: Before connecting, make sure your MySQL server is running. You can use the following command to check the status of the MySQL server:

    service mysql status

    If the MySQL server is not running, you can use the following command to start it:

    service mysql start
  2. MySQL server set Incorrect socket name: By default, the MySQL server stores socket files in the specified directory. In the error message, 'socket_name' refers to the file path and name of the socket. If the path or name of the socket is incorrect, the client will not be able to connect to the MySQL server. You can check the path of the socket by:

    cat /etc/mysql/my.cnf

    Search for the "socket" parameter in the my.cnf file to find the path of the socket. Make sure the client program is using the correct socket path.

  3. MySQL server is configured with wrong socket path: Sometimes, the socket path set in the MySQL server's configuration file (my.cnf) may be incorrect. You can check the socket path in the my.cnf file by:

    cat /etc/mysql/my.cnf

    Make sure the "socket" parameter in the my.cnf file contains the correct socket path.

Now let’s look at the specific code example. This is an example of using Python to connect to a local MySQL server:

import mysql.connector

try:
    conn = mysql.connector.connect(user='root', password='your password', host='localhost', port='3306', database='your database name')
    print("Successfully connected to MySQL server")
except mysql.connector.Error as err:
    if err.errno == 2003:
        print("Can't connect to local MySQL server through socket 'socket_name' (111)")
    else:
        print(err)

In this example, we use Python The mysql.connector module to connect to the MySQL server. We set up the correct username, password, hostname, port number and database name. If the connection fails, we capture the mysql.connector.Error exception and check whether the error code err.errno is 2003. If so, we print out a specific error message.

It should be noted that this is just a sample code, you need to adjust the parameters and error handling methods according to the actual situation.

To summarize, when encountering a MySQL error: "Can't connect to local MySQL server through socket 'socket_name' (111)", the first step is to ensure that the MySQL server is running. Then, check the socket path and the socket path in the configuration file. Finally, perform corresponding error handling according to the specific error code.

Hope this article can help you solve MySQL connection problems. I wish you success in completing your development tasks!

The above is the detailed content of Can't connect to local MySQL server through socket 'socket_name' (111) - How to solve the MySQL error: Can't connect to the local MySQL server through socket (111). 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