MySQL: "Access denied for user 'debian-sys-maint'@'localhost'"

Pengguna Ubuntu mungkin pernah sering ketemu error kayak gini:

scylla@lifebit:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [fail]
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

“debian-sys-maint” adalah MySQL user yang dibuat supaya Ubuntu bisa start / stop database dan melakukan operasi2 maintenance lain. Terus knapa ada error “access denied”?

Masalah ini terjadi biasanya karena ketika update MySQL, password user debian-sys-maint ngga ikut terupdate bersamaan dengan file konfigurasi yang baru. Tapi ternyata solusinya cukup simple:

Pertama, liat isi file /etc/mysql/debian.cnf

scylla@lifebit:~$ sudo cat /etc/mysql/debian.cnf

Isinya kurang lebih akan seperti ini:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = n4aSHUP04s1J32X5
socket = /var/run/mysqld/mysqld.sock

[mysql_upgrade]
user = debian-sys-maint
password = n4aSHUP04s1J32X5
socket = /var/run/mysqld/mysqld.sock basedir = /usr

Perhatikan pada direktif password, itu adalah password user debian-sys-main yang kita cari. Selanjutnya, execute perintah MySQL untuk update password user debian-sys-maint sekaligus memberikan privilege yang diperlukan. Login kedalam MySQL server menggunakan root:

scylla@lifebit:~$ mysql -uroot -p

Issue perintah GRANT untuk memberikan privilege:

mysql> GRANT ALL PRIVILEGES ON . TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'n4aSHUP04s1J32X5';

Selesai! Dan sekarang kalau kita restart MySQL, seharusnya ngga bakalan ada lagi error “access denied”.

scylla@lifebit:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.

Leave a Reply

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