Seperti yang telah kita bahas di panduan Pengertian Fungsi Hashing dan Cara Kerja Password MySQL, MySQL menyimpan password user selaku ‘kata’ yang terdiri dari 41 karakter acak yang berasal dari hashing guna PASSWORD. Pada panduan kali ini saya akan membahas Cara Untuk Merubah dan Menghapus Password user MySQL.
Password asli dari user MySQL tak dapat diketahui bersama dari tabel mysql, bahkan lewat user root sekalipun. Hal ini bermanfaat seandainya ada pihak yang tak berhak masuk ke pada program dan melihat-lihat password user, namun pun menjadi masalah ketika ada user yang lupa dengan password yang digunakan.
Cara Merubah Password User MySQL dari User Root
Seandainya user yang ‘lupa’ passwordnya bukan user root, karenanya kita tinggal menimpa password lama dengan yang baru. Berikut yaitu format basic query yang digunakan:
1 |
SET PASSWORD FOR nama_user@'lokasi_user' = PASSWORD('password_baru'); |
- nama_user yaitu nama dari user yang akan diubah passwordnya.
- lokasi_user yaitu domisili IP dari user yang akan diubah passwordnya.
- password_baru yaitu password yang akan diberikan kepada nama_user.
Perhatikan bahwa kita menggunakan guna PASSWORD bagi membangun password baru.
Selaku contoh, saya akan merubah password ilkom_admin menjadi ‘s3cret’. Berikut query yang digunakan:
1 |
]D:MySQLbin>mysql -uroot -pqwerty<br/><br/>Welcome to the MySQL monitor. Commands end with ; or g.<br/>Your MySQL connection id is 8<br/>Server version: 5.5.27 MySQL Community Server (GPL)<br/><br/>Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.<br/><br/>Oracle is a registered trademark of Oracle Corporation and/or its<br/>affiliates. Other names may be trademarks of their respective<br/>owners.<br/><br/>Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.<br/><br/>mysql> SHOW GRANTS FOR ilkom_admin@localhost G<br/><br/>*************************** 1. row ***************************<br/>Grants for ilkom_admin@localhost: GRANT USAGE ON *.*<br/>TO 'ilkom_admin'@'localhost' IDENTIFIED BY PASSWORD<br/>'*7438236BE048F242AA18D2EE074296F078CD701A'<br/><br/>*************************** 2. row ***************************<br/>Grants for ilkom_admin@localhost: GRANT SELECT ON<br/>`universitas`.`mahasiswa_ilkom` TO 'ilkom_admin'@'localhost'<br/>2 rows in set (0.07 sec)<br/><br/>mysql> SET PASSWORD FOR ilkom_admin@'localhost' = PASSWORD('s3cret');<br/>Query OK, 0 rows affected (0.00 sec)<br/><br/>mysql> SHOW GRANTS FOR ilkom_admin@localhost G<br/><br/>*************************** 1. row ***************************<br/>Grants for ilkom_admin@localhost: GRANT USAGE ON *.*<br/>TO 'ilkom_admin'@'localhost' IDENTIFIED BY PASSWORD<br/>'*B865CAE8F340F6CE1485A06F4492BB49718DF1EC'<br/><br/>*************************** 2. row ***************************<br/>Grants for ilkom_admin@localhost: GRANT SELECT ON<br/>`universitas`.`mahasiswa_ilkom` TO 'ilkom_admin'@'localhost'<br/>2 rows in set (0.00 sec) |
Setelah masuk selaku root (baris…), saya memeriksa terlebih dahulu user ilkom_admin dengan query SHOW GRANTS FOR (baris …). Di baris…, terdapat hasil hashing dari password ‘r4hasia’ yang saya gunakan selaku password di waktu membangun user ilkom_admin. Hasil hashing inilah yang disimpan MySQL di pada databasenya.
Di baris ke… saya merubah password ilkom_admin menjadi ‘s3cret’. Lalu di baris.. saya kembali memeriksa hasil hashing password dengan SHOW GRANTS FOR . Dan seperti yang terlihat, hasil hashing pun telah berubah yang menandakan pergantian password berhasil.
Cara Merubah Password User MySQL dari User itu Sendiri
Bagi merubah password dari user yang kita login ketika ini, dapat menggunakan petunjuk yang lebih sederhana:
1 |
SET PASSWORD=PASSWORD('the_password') |
Berikut yaitu contoh query dimana saya login selaku ilkom_admin dengan password ‘s3cret’ dan mengubahnya menjadi ‘4dmin’:
1 |
]D:MySQLbin>mysql -uilkom_admin -ps3cret<br/><br/>Welcome to the MySQL monitor. Commands end with ; or g.<br/>Your MySQL connection id is 9<br/>Server version: 5.5.27 MySQL Community Server (GPL)<br/><br/>Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.<br/><br/>Oracle is a registered trademark of Oracle Corporation and/or its<br/>affiliates. Other names may be trademarks of their respective<br/>owners.<br/><br/>Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.<br/><br/>mysql> SET PASSWORD = PASSWORD('4dmin');<br/>Query OK, 0 rows affected (0.00 sec) |
Password baru tersebut akan aktif setelah user keluar dari sesi MySQL ketika ini.
Cara Menghapus Password User MySQL
Seandainya yang kamu inginkan yaitu menghapus password dari seorang user secara keseluruhan, karenanya lumayan memberikan string kosong selaku isian password.
1 |
SET PASSWORD FOR 'nama_user'@'lokasi_user' = '' |
Berikut saya contohkan ketika menghapus password bagi user ekonomi_admin lewat user root:
1 |
]D:MySQLbin>mysql -uroot -pqwerty<br/><br/>Welcome to the MySQL monitor. Commands end with ; or g.<br/>Your MySQL connection id is 10<br/>Server version: 5.5.27 MySQL Community Server (GPL)<br/><br/>Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.<br/><br/>Oracle is a registered trademark of Oracle Corporation and/or its<br/>affiliates. Other names may be trademarks of their respective<br/>owners.<br/><br/>Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.<br/><br/>mysql> SET PASSWORD FOR ekonomi_admin@'localhost' = '';<br/>Query OK, 0 rows affected (0.00 sec)<br/><br/>mysql> SHOW GRANTS FOR ekonomi_admin@localhost G<br/><br/>*************************** 1. row ***************************<br/>Grants for ekonomi_admin@localhost: GRANT USAGE ON *.*<br/>TO 'ekonomi_admin'@'localhost'<br/><br/>*************************** 2. row ***************************<br/>Grants for ekonomi_admin@localhost: GRANT ALL PRIVILEGES ON<br/>`universitas`.`mahasiswa_ekonomi` TO 'ekonomi_admin'@'localhost'<br/>2 rows in set (0.00 sec) |
Terlihat dari hasil SHOW GRANTS FOR, user ekonomi_admin tak mempunyai password, dan user tersebut dapat masuk kedalam MySQL tanpa password sama sekali.
Cara Merancang Password User MySQL, Sama Dengan User Lain
Walaupun kamu tak tahu password asli yang digunakan oleh user lain, namun kalau yang diinginkan yaitu membangun password yang sama dengan user lain, kita dapat menggunakan hasil hashing dari password user tersebut.
Berikut yaitu format dasarnya:
1 |
SET PASSWORD FOR 'nama_user'@'lokasi_user' ='*nilai hashing'; |
- nama_user yaitu nama dari user yang akan diubah passwordnya.
- lokasi_user yaitu domisili IP dari user yang akan diubah passwordnya.
- nilai_hashing yaitu nilai dari guna hashing password user yang akan disamakan passwordnya.
Dari hasil SHOW GRANTS FOR bagi user ilkom_ad
min, saya mendapati hasil hashingnya yaitu ‘*F366568C1E05004FD78F38B712C83917196C95D8’, dan nilai inilah yang akan saya gunakan bagi password user ekonomi_admin. Berikut query yang digunakan (dari user root):
1 |
]mysql> SET PASSWORD FOR ekonomi_admin@'localhost' = <br/>'*F366568C1E05004FD78F38B712C83917196C95D8';<br/>Query OK, 0 rows affected (0.00 sec)<br/><br/>mysql> exit<br/>Bye<br/><br/>D:MySQLbin>mysql -uekonomi_admin -p4dmin<br/><br/>Welcome to the MySQL monitor. Commands end with ; or g.<br/>Your MySQL connection id is 7<br/>Server version: 5.5.27 MySQL Community Server (GPL)<br/><br/>Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.<br/><br/>Oracle is a registered trademark of Oracle Corporation and/or its<br/>affiliates. Other names may be trademarks of their respective<br/>owners.<br/><br/>Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. |
Karena user ilkom_admin baru saya ganti passwordnya menjadi 4dmin, karenanya dengan men-copy hasil hashing user ilkom_admin ke user ekonomi_admin, keduanya mempunyai password yang sama, yaitu s3cret.
Di panduan kali ini kita telah membahas cara merubah dan menghapus user MySQL dari user root. Hal ini bermanfaat kalau ada user yang lupa password atau ingin merubah password.
Namun bagaimana kalau user root lah yang lupa passwordnya? Kita akan membahasnya di panduan berikutnya: Lupa password root MySQL.
Sumber https://www.duniailkom.com/