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

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

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) ubuntu.

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

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 ubuntu.

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

Step 1: Check 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 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 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 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 mysqld.sock 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

AuthorAdmin

My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.

Leave a Reply

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