Solve “ERROR 1524 (HY000): Plugin ‘unix_socket’ is not loaded ” MySQL error on Debian / Ubuntu

Posted on 190 views

I recently encountered this error “ERROR 1524 (HY000): Plugin ‘unix_socket’ is not loaded” on my Debian 9 server while trying to authenticate to MariaDB database as a root user. After some googling, I found the workaround for this error is to start MySQL service with mysqld_safe and reset the root password.

Step 1: Stop mysql service

Stop MySQL service.

$ sudo systemctl stop mysql
# OR
$ sudo /etc/init.d/mysql stop

Step 2: Start mysql with mysqld_safe

Then start mysql service with mysqld_safe and option --skip-grant-tables and keep in running it the background.

$ sudo mysqld_safe --skip-grant-tables &
[1] 8197

Step 3: Reset root user password

Open MySQL terminal console.

$ sudo mysql -uroot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.14-MariaDB-1:10.3.14+maria~stretch mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

You should get to MySQL terminal without password authentication. Now switch to mysql database.

MariaDB [(none)]> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Reset root user password.

MariaDB [mysql]> update user set password=PASSWORD("NewRootPassword") where User='root';
Query OK, 0 rows affected (0.002 sec)
Rows matched: 1  Changed: 0  Warnings: 0

Replace NewRootPassword with your new password for root user.

Also set Authentication plugin to native.

MariaDB [mysql]> UPDATE USER SET plugin="mysql_native_password";
Query OK, 2 rows affected (0.001 sec)
Rows matched: 2  Changed: 2  Warnings: 0

Close your Database session.

MariaDB [mysql]> quit;
Bye

Step 4: Start MySQL Service normally

Restart mysql service in a standard manner. But first stop the service.

$ sudo systemctl stop mysql
#OR
$ sudo /etc/init.d/mysql stop

Ensure no other process is running.

ps aux | grep mysql

Start mysql.

sudo systemctl start mysql

Test access as root user.

$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.14-MariaDB-1:10.3.14+maria~stretch mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> QUIT
Bye

coffee

Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.