Cara Mengubah Password root MySQL lewat Command Prompt

Mengganti password pengguna root MySQL adalah tugas administrasi yang mendasar — entah karena alasan keamanan berkala, atau karena Anda lupa password lama. Artikel ini merangkum beberapa cara melakukannya melalui Command Prompt, termasuk skenario tersulit: reset password root yang benar-benar terlupa.

Cara Ubah Password root MySQL
Cara Ubah Password root MySQL

Cara 1: Dengan ALTER USER (Paling Direkomendasikan)

Bila Anda masih ingat password lama dan bisa login, ini cara paling bersih. Login dulu:

mysql -u root -p

Setelah masuk ke prompt mysql>, jalankan perintah berikut untuk MySQL 5.7 ke atas:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password_baru';
FLUSH PRIVILEGES;

FLUSH PRIVILEGES memerintahkan MySQL memuat ulang tabel hak akses agar perubahan langsung berlaku. Ganti password_baru dengan password yang Anda kehendaki.

Cara 2: Dengan mysqladmin

Untuk mengganti password tanpa masuk ke prompt MySQL, gunakan utilitas mysqladmin langsung dari Command Prompt:

mysqladmin -u root -p password "password_baru"

Anda akan diminta memasukkan password lama terlebih dahulu, lalu password baru diterapkan. Cara ini praktis untuk skrip otomatisasi.

Cara 3: Reset Password root yang Terlupa

Ini skenario yang paling sering dicari. Kalau password root benar-benar lupa sehingga tidak bisa login sama sekali, kita perlu menjalankan MySQL dalam mode khusus yang melewati sistem otorisasi.

Langkah 1 — hentikan service MySQL lebih dulu (jalankan sebagai Administrator):

net stop MySQL

Langkah 2 — jalankan MySQL dengan opsi --skip-grant-tables yang mematikan sementara pengecekan otorisasi. Masuk ke folder bin lalu:

cd C:\mysql\bin
mysqld --skip-grant-tables --console

Langkah 3 — buka Command Prompt kedua, lalu masuk ke MySQL tanpa password:

mysql -u root

Langkah 4 — dalam mode ini, terapkan password baru. Pada beberapa versi, ALTER USER tidak bisa langsung dipakai saat skip-grant aktif, jadi kita muat ulang privilege dulu:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password_baru';
FLUSH PRIVILEGES;

Langkah 5 — matikan mode skip-grant (tekan Ctrl+C pada jendela pertama atau mysqladmin shutdown), lalu jalankan MySQL normal kembali:

net start MySQL

Sekarang Anda bisa login memakai password baru. Jangan lupa segera menutup celah keamanan dengan memastikan MySQL tidak lagi berjalan dalam mode skip-grant-tables.

Tips Membuat Password yang Kuat

  • Minimal 12 karakter, mengombinasikan huruf besar, kecil, angka, dan simbol.
  • Hindari kata umum atau tanggal lahir yang mudah ditebak.
  • Untuk server produksi, pertimbangkan tidak memakai akun root untuk aplikasi — buat pengguna khusus dengan hak akses terbatas.

Membuat Pengguna Baru selain root

Sebagai praktik keamanan yang baik, aplikasi sebaiknya memakai pengguna khusus, bukan root. Contoh membuatnya:

CREATE USER 'aplikasi'@'localhost' IDENTIFIED BY 'passwordku';
GRANT ALL PRIVILEGES ON nama_database.* TO 'aplikasi'@'localhost';
FLUSH PRIVILEGES;

Contoh Kasus Nyata: Serah Terima Server

Ketika seorang admin lama resign, praktik standar keamanan adalah segera mengganti seluruh password akun penting, termasuk root MySQL. Dengan perintah ALTER USER di atas, admin baru dapat mengambil alih kredensial dalam hitungan detik, memastikan mantan admin tak lagi punya akses ke database.

Penutup

Mengubah password root MySQL bisa dilakukan dengan mudah lewat ALTER USER atau mysqladmin jika Anda masih bisa login. Untuk kasus password terlupa, mode --skip-grant-tables adalah penyelamatnya. Selalu terapkan password yang kuat dan pertimbangkan memakai pengguna khusus untuk aplikasi demi keamanan yang lebih baik.

Referensi: untuk pendalaman lebih lanjut, kunjungi dokumentasi resmi MySQL.

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *