Belajar MySQL Part 33 : Merubah dan menghapus Password User MySQL
Seperti yang telah kita bahas pada tutorial Pengertian Fungsi Hashing dan Cara Kerja Password MySQL, MySQL menyimpan password user sebagai ‘kata’ yang terdiri dari 41 karakter acak yang berasal dari hashing fungsi PASSWORD. Dalam tutorial kali ini saya akan membahas Cara Untuk Merubah dan Menghapus Password user MySQL.
Password asli dari user MySQL tidak dapat diketahui dari tabel mysql, bahkan melalui user root sekalipun. Hal ini berguna seandainya ada pihak yang tidak berhak masuk ke dalam sistem dan melihat-lihat password user, namun juga menjadi masalah ketika ada user yang lupa dengan password yang digunakan.
Cara Merubah Password User MySQL dari User Root
Jika user yang ‘lupa’ passwordnya bukan user root, maka kita tinggal menimpa password lama dengan yang baru. Berikut adalah format dasar query yang digunakan:
SET PASSWORD FOR nama_user@'lokasi_user' = PASSWORD('password_baru');
- nama_user adalah nama dari user yang akan di ubah passwordnya..
- lokasi_user adalah alamat IP dari user yang akan diubah passwordnya .
- password_baru adalah password yang akan diberikan kepada nama_user.
Perhatikan bahwa kita menggunakan fungsi PASSWORD untuk membuat password baru.
Sebagai contoh, saya akan merubah password admin menjadi 'adminer'. Berikut query yang digunakan:
Setelah masuk sebagai root (baris…), saya memeriksa terlebih dahulu user admin2 dengan query SHOW GRANTS FOR (baris …). Pada baris…, terdapat hasil hashing dari password ‘adminer’ yang saya gunakan sebagai password pada waktu membuat user admin2. Hasil hashing inilah yang disimpan MySQL di dalam databasenya.
Pada baris ke… saya merubah password admin2 menjadi ‘adminer’. Lalu pada baris.. saya kembali memeriksa hasil hashing password dengan SHOW GRANTS FOR . Dan seperti yang terlihat, hasil hashing juga telah berubah yang menandakan pergantian password berhasil.
Cara Merubah Password User MySQL dari User itu Sendiri
Untuk merubah password dari user yang kita login saat ini, bisa menggunakan perintah yang lebih sederhana:
SET PASSWORD=PASSWORD('the_password')
Berikut adalah contoh query dimana saya login sebagai admin2 dengan password ‘adminer’ dan mengubahnya menjadi ‘administrator’:
Password baru tersebut akan aktif setelah user keluar dari sesi MySQL saat ini.
Cara Menghapus Password User MySQL
Jika yang anda inginkan adalah menghapus password dari seorang user secara keseluruhan, maka cukup memberikan string kosong sebagai isian password.
SET PASSWORD FOR 'nama_user'@'lokasi_user' = ''
Berikut saya contohkan ketika menghapus password untuk user ekonomi_admin melalui user root:
Terlihat dari hasil SHOW GRANTS FOR, user ekonomi_admin1 tidak memiliki password, dan user tersebut dapat masuk kedalam MySQL tanpa password sama sekali.
Cara Membuat Password User MySQL, Sama Dengan User Lain
Walaupun anda tidak tahu password asli yang digunakan oleh user lain, namun jika yang diinginkan adalah membuat password yang sama dengan user lain, kita dapat menggunakan hasil hashing dari password user tersebut.
Berikut adalah format dasarnya:
SET PASSWORD FOR 'nama_user'@'lokasi_user' ='*nilai hashing';
- nama_user adalah nama dari user yang akan diubah passwordnya.
- lokasi_user adalah alamat IP dari user yang akan diubah passwordnya.
- nilai_hashing adalah nilai dari fungsi hashing password user yang akan disamakan passwordnya.
Dari hasil SHOW GRANTS FOR untuk user admin2, saya mendapati hasil hashingnya adalah ‘*F366568C1E05004FD78F38B712C83917196C95D8’, dan nilai inilah yang akan saya pakai untuk password user ekonomi_admin. Berikut query yang digunakan (dari user root):
Karena user admin2 baru saya ganti passwordnya menjadi administrator, maka dengan men-copy hasil hashing user admin2 ke user ekonomi_admin, keduanya memiliki password yang sama, yaitu admin.
Pada tutorial kali ini kita telah membahas cara merubah dan menghapus user MySQL dari user root. Hal ini berguna jika ada user yang lupa password atau ingin merubah password.
Namun bagaimana jika user root lah yang lupa passwordnya? Kita akan membahasnya pada tutorial berikutnya: Lupa password root MySQL.
No comments