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,
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 stop 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 the 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
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.