Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

This error indicates that the MySQL server is not running or is not accessible through the socket file. You can try restarting the MySQL server and check if the socket file is accessible. If the socket file is not accessible, you can try changing the socket file path in the MySQL configuration file.

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) error message typically occurs when a MySQL client is trying to connect to a MySQL server using a Unix socket file and is unable to establish the connection. The socket file location specified in the error message is the default location for the MySQL server’s Unix socket file.

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) error can occur for several reasons, including:

  1. The MySQL server is not running: If the MySQL server is not running, the client will not be able to connect to the server using the Unix socket file.
  2. The MySQL server is running, but the socket file is missing: The Unix socket file is created by the MySQL server when it starts up. If the socket file is missing, the client will not be able to connect to the server using the Unix socket file.
  3. The socket file location is different: The MySQL server creates the Unix socket file at the default location of “/var/run/mysqld/mysqld.sock”. If the socket file is located somewhere else, the client will not be able to connect to the server using the default socket file location.
  4. The client does not have permission to access the socket file: If the client does not have the proper permissions to access the Unix socket file, the client will not be able to establish a connection to the MySQL server.
  5. A firewall or other security measure is blocking the connection: If a firewall or other security measure is blocking the connection between the client and server, the client will not be able to establish a connection to the server.

In this tutorial, you will learn how to fix or resolve ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2).

How to Fix Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

By using the following steps, you can fix or resolve Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) error.

  • Step 1: Check the MySQL service status
  • Step 2: Check the socket file location
  • Step 3: Check the MySQL configuration file
  • Step 4: Restart the MySQL service
  • Step 5: Check the file permissions
  • Step 6: Use TCP/IP instead of Unix sockets

Step 1: Check the MySQL service status

Firstly, open your terminal or command line and execute the following command into it to check whether the MySQL service is running or not:

sudo service mysql status

If the MySQL service is not running, execute the following command in terminal or command line to start it:

sudo service mysql start

Step 2: Check the socket file location

Execute the following command on terminal or command line to check if the socket file is present in the correct location:

mysql_config --socket

The default location for the socket file is /var/run/mysqld/mysqld.sock.

Note that:- If the socket file is located elsewhere, you need to specify the correct location while connecting to the database.

Step 3: Check the MySQL configuration file

The MySQL configuration file my.cnf contains the configuration settings for the MySQL server. Ensure that the socket option is correctly set in the [mysqld] section of the configuration file. If the socket option is not set, add the following line to the configuration file:

socket = /var/run/mysqld/mysqld.sock

Step 4: Restart the MySQL service

After making changes is done in configuration file, then execute the following command on terminal or command line to restart the MySQL service:

sudo service mysql restart

Step 5: Check the file permissions

Execute the following command on terminal to check the permissions of the socket file, The MySQL client may not be able to connect to the server if it does not have the necessary permissions to access the socket file:

ls -l /var/run/mysqld/mysqld.sock

The above command will show the output with the permissions of the file. If the permissions are not set correctly, you can execute the following command on terminal or command line to change them:

sudo chmod 777 /var/run/mysqld/mysqld.sock

OR

sudo chown mysql:mysql /var/run/mysqld/mysqld.sock

Step 6: Use TCP/IP instead of Unix sockets

If none of the above solutions work, you can try connecting to the MySQL server using TCP/IP instead of Unix sockets. To do this, replace localhost with 127.0.0.1 in the MySQL connection string.

Conclusion

In conclusion, the “Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)” error message is a common issue that can be resolved by following the steps mentioned above. By checking the MySQL service status, socket file location, configuration file, file permissions, and using TCP/IP, you can quickly resolve this error and get back to using MySQL.

Recommended Tutorials

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?