MysqlAdmin Connect to Server at localhost Failed

Mysqladmin is a command-line utility that Database Administrators use to perform administrative tasks like monitoring the MySQL process, database server settings, health and more.

Here, we'll go over the most common causes of failed connections with an example, as well as why the error mysqladmin connect to server at localhost failed and how to fix it.

Let's get started,

1. Check if my MySQL server is up and running?

This is one of the most typical connection issues that developers encounter, and it can occur on Ubuntu, Debian, Windows, or other servers.

We restart the machine occasionally, but the mysql server does not start or stops for some reason. As a result, we should check to see if the database is up and operating.

We can use the administrator command mysqladmin and try to connect to the server by pinging a trusted server to see whether it is up and running.

Unless we set a password for the root user, mysql changes the default user to root and leaves the password blank. To ping the server, perform the following mysqladmin command

mysqladmin ping

It is assumed that the default host is localhost, and that the user root has a blank password.

If the root user's password has already been set, we must ping in the following manner.

mysqladmin -uroot -p ping 

By entering the root password. 


Result : mysqld is alive if server running 

I forced my mysql server to stop for demonstration purposes in order to duplicate the aforesaid problem.

  • Step 1: shut down the MySQL server.
  • Step 2: Execute the command below.
$ mysqladmin -uroot -p ping
Enter password: 
Result:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

As we can error reports, it is self-explanatory, and we recommend that we check if mysqld is running before starting the MySQL server :)

We can also check in this manner.

Check to see if the mysqld process is active on the computer.

top | grep mysqld

Check mysql running status by

CentOS 7
service mysql status


Linux Mint or Ubuntu box
/etc/init.d/mysql status

2. Mysql socket file (mysql.sock) is missing or inaccessible

When the MySQL server starts, a file called mysql.sock is created. When the MySQL server was shutdown, Mysql.sock was removed.

When mysql cannot discover mysql.sock on the server, the connection to the server fails. The mysql.sock file is created by default in the tmp folder (/tmp/mysql.sock).

Any system user has the ability to delete files from the /tmp folder. In such circumstances, the absence of a mysql socket file causes mysql database connection failures.

As a result, we can better secure the /tmp directory by allowing only root users to delete files.

Alternatively, we can alter the sock file path in the mysql configuration file and specify a new path location.

Open /etc/my.cnf (usually my.cnf in the /etc directory) and change the server and client socket file paths.

[mysqld]
socket= socket_file_path

[client]
socket=socket_file_path

Simply set the location to your mysql socket file (mysql.sock). It might be /var/lib/mysql/mysql.sock, /tmp/mysql.sock, or another place if one was specified during installation.

Please note that depending on your MySQL installation, the path to mysql.sock may differ.

Another option is symlink

ln -s path_to_mysql.sock /tmp/mysql.sock

Create a symlink, restart your MySQL server, and check your connection once more.

3. Issues with permissions on the mysql directory

Yes, it can cause connection troubles if the mysql directory does not have the necessary permissions, which causes more problems with mysql.sock file permission.

To avoid inaccessible difficulties, give the mysql directory adequate permissions.

sudo chmod -R 755 /var/lib/mysql/

Connect With Us

We hope you find this Post Insightful.

Please Follow Us and Stay tuned with upcoming blog posts and updates.

You May Like to Read

MYSQL Articles for Beginners & Advanced Learners