DEV Community

superhekel
superhekel

Posted on

mysql 8 setup akses penuh sebuah user

Kesalahan tersebut terjadi karena sejak MySQL versi 8.0, perintah GRANT tidak lagi mendukung pembuatan user sekaligus pemberian hak akses dalam satu baris menggunakan klausa IDENTIFIED BY.

Sekarang, MySQL memisahkan proses pembuatan user dan pemberian hak akses menjadi dua langkah yang berbeda.


Solusi: Cara Memperbaiki Error 1064

Anda harus membagi perintah tersebut menjadi dua tahap: Buat User dulu, baru kemudian Berikan Hak Akses.

1. Buat User Terlebih Dahulu

CREATE USER 'pandito'@'localhost' IDENTIFIED BY 'rahasiapass';
Enter fullscreen mode Exit fullscreen mode

2. Berikan Hak Akses

GRANT ALL PRIVILEGES ON *.* TO 'pandito'@'localhost' WITH GRANT OPTION;
Enter fullscreen mode Exit fullscreen mode

3. Segarkan Hak Akses

FLUSH PRIVILEGES;
Enter fullscreen mode Exit fullscreen mode

Mengapa Aturan Ini Berubah?

Perubahan ini dilakukan oleh tim pengembang MySQL untuk meningkatkan keamanan dan struktur perintah. Klausa IDENTIFIED BY di dalam GRANT dianggap sebagai perilaku lama (deprecated) yang sering membingungkan dan berisiko secara keamanan.

Perbandingan Sintaks:

Versi MySQL Sintaks Gabungan Hasil
MySQL 5.7 ke bawah GRANT ALL... IDENTIFIED BY 'pass'; Berhasil ✅
MySQL 8.0 ke atas GRANT ALL... IDENTIFIED BY 'pass'; Error 1064

Tips Tambahan

Jika user 'pandito'@'localhost' sebenarnya sudah ada dan Anda hanya ingin mengganti passwordnya, gunakan perintah ini:

ALTER USER 'pandito'@'localhost' IDENTIFIED BY 'password_baru';
Enter fullscreen mode Exit fullscreen mode

Apakah Anda sedang mengonfigurasi server MySQL yang baru diinstal?

Top comments (0)