Artikel ini akan mempelajari cara mengubah password user MySQL menggunakan berbagai perintah seperti UPDATE, SET PASSWORD, dan ALTER USER.
Sebelum mengubah password user MySQL, harap pertimbangkan beberapa pertanyaan penting berikut:
- Akun user mana yang ingin diubah passwordnya?
- Aplikasi apa yang menggunakan akun user yang passwordnya diubah? Jika mengubah password tanpa mengubah string koneksi aplikasi yang menggunakan akun user tersebut, maka aplikasi tidak akan dapat terhubung ke server database.
Setelah pertanyaan-pertanyaan ini dijawab, silakan mulai mengubah password user.
MySQL menyediakan berbagai perintah yang dapat digunakan untuk mengubah password user termasuk pernyataan UPDATE, SET PASSWORD, dan GRANT USAGE.
Ubah Password User Menggunakan UPDATE
Cara pertama untuk mengubah password adalah dengan menggunakan perintah UPDATE untuk memperbarui tabel user dalam database mysql.
Setelah mengeksekusi perintah UPDATE, maka perlu menjalankan pernyataan FLUSH PRIVILEGES untuk memuat ulang hak istimewa dari grant-table di database mysql.
Misalkan ingin mengubah password untuk user kambing yang terhubung dari localhost ke thesheep, maka jalankan pernyataan berikut:
USE mysql;
UPDATE user
(con)SET password = PASSWORD('thesheep')
(con)WHERE user = 'kambing' AND
(con) host = 'localhost';
FLUSH PRIVILEGES;
Perhatikan bahwa mulai dari MySQL 5.7.6, tabel user menggunakan kolom authentication_string untuk menyimpan password. Selain itu, kolom password ditiadakan.
Oleh karena itu jika menggunakan MySQL 5.7.6+, harus menggunakan kolom authentication_string dalam pernyataan UPDATE sebagai gantinya:
USE mysql;
UPDATE user
(con)SET authentication_string = PASSWORD('thesheep')
(con)WHERE user = 'kambing' AND
(con) host = 'localhost';
FLUSH PRIVILEGES;
Perhatikan bahwa fungsi PASSWORD() menghitung nilai hash dari teks biasa.
Ubah Password User menggunakan SET PASSWORD
Cara kedua untuk mengganti password adalah dengan menggunakan perintah SET PASSWORD.
Anda menggunakan user account dalam format user@host untuk memperbarui password. Jika diperlukan mengubah password untuk akun lain, setidaknya harus memiliki hak istimewa UPDATE.
Dengan menggunakan perintah SET PASSWORD, tidak perlu menjalankan pernyataan FLUSH PRIVILEGES untuk memuat ulang hak istimewa dari grant-table.
Pernyataan berikut mengubah password akun pengguna kambing menggunakan pernyataan SET PASSWORD.
SET PASSWORD FOR 'kambing'@'localhost' = PASSWORD('thesheep');
Perhatikan bahwa dari versi 5.7.6, MySQL mengurangi sintaks ini dan mungkin menghapusnya di rilis mendatang. Sebagai gantinya, ia menggunakan kata sandi plaintext sebagai berikut:
SET PASSWORD FOR 'dbadmin'@'localhost' = bigshark;
Ubah Password User Menggunakan ALTER USER
Cara ketiga untuk mengubah password user adalah dengan menggunakan pernyataan ALTER USER dengan klausa IDENTIFIED BY.
Pernyataan ALTER USER berikut mengubah password user kambing menjadi blacksheep:
ALTER USER kambing@localhost IDENTIFIED BY 'blacksheep';
Jika ingin mengatur ulang password root MySQL, sebaiknya hentikan server database MySQL dan memulai ulang tanpa menggunakan validasi grant-table.
Dalam tutorial ini, kami telah memperkenalkan pada beberapa pernyataan praktis yang memungkinkan untuk mengubah password user di database MySQL.