Mungkin tindakan pencegahan keamanan. Anda dapat mencoba menambahkan akun administrator baru:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
Meskipun seperti yang telah dicatat oleh Pascal dan yang lainnya, bukanlah ide yang bagus untuk memiliki pengguna dengan akses semacam ini yang terbuka untuk IP apa pun. Jika Anda membutuhkan pengguna administratif, gunakan root, dan biarkan di localhost. Untuk tindakan lain, tentukan dengan tepat hak istimewa yang Anda butuhkan dan batasi aksesibilitas pengguna seperti yang disarankan Pascal di bawah ini.
Sunting:
Dari FAQ MySQL:
Jika Anda tidak dapat mengetahui mengapa Anda mendapatkan Akses ditolak, hapus dari tabel pengguna semua entri yang memiliki Nilai Host yang berisi wildcard (entri yang berisi karakter '%' atau '_'). Kesalahan yang sangat umum adalah memasukkan entri baru dengan Host='%' andUser='some_user', berpikir bahwa ini memungkinkan Anda untuk menentukan localhost untuk terhubung dari mesin yang sama. Alasan mengapa ini tidak berhasil adalah bahwa hak istimewa default menyertakan entri dengan Host='localhost' danUser=''. Karena entri tersebut memiliki nilai Host 'localhost' yang lebih spesifik daripada '%', entri tersebut digunakan sebagai referensi ke entri baru saat menghubungkan dari host lokal! Prosedur yang benar adalah memasukkan entri kedua dengan Host='localhost' danUser='some_user', atau menghapus entri dengan Host='localhost' danUser=''. Setelah menghapus entri, ingatlah untuk mengeluarkan pernyataan FLUSH PRIVILEGES untuk memuat ulang tabel hibah. Lihat juga Bagian 5.4.4, “AccessControl, Tahap 1:ConnectionVerification”.