- 1 1. Pendahuluan
- 2 2. Cara Memeriksa Daftar Pengguna di MariaDB
- 3 3. Manajemen Rinci Pengguna MariaDB
- 4 4. Pertimbangan Utama untuk Pengelolaan Pengguna MariaDB
- 5 5. FAQ (Pertanyaan yang Sering Diajukan)
- 5.1 Q1: Bagaimana saya dapat memberikan hak istimewa hanya kepada pengguna tertentu?
- 5.2 Q2: Apa penyebab dan solusi ketika daftar pengguna tidak muncul?
- 5.3 Q3: Apa yang harus saya lakukan jika pengguna root terkunci?
- 5.4 Q4: Saya mendapatkan error saat menghapus pengguna. Apa yang harus saya lakukan?
- 5.5 Q5: Bagaimana cara menyimpan output SHOW GRANTS?
- 5.6 Ringkasan
1. Pendahuluan
MariaDB adalah salah satu sistem manajemen basis data yang paling banyak digunakan saat ini, dikenal karena kemudahan penggunaan dan kinerja tinggi. Di antara banyak fiturnya, manajemen pengguna memainkan peran penting. Dengan mengelola pengguna secara tepat, Anda dapat memastikan keamanan basis data dan mencapai operasi yang efisien.
Artikel ini berfokus pada cara memeriksa daftar pengguna di MariaDB. Secara khusus, kami akan menjelaskan cara mengambil daftar pengguna menggunakan perintah SQL, perbedaan dan keunggulan masing‑masing metode, serta pengaturan hak istimewa terkait dan pertimbangan penting.
Panduan ini ditulis untuk membantu tidak hanya pemula MariaDB tetapi juga mereka yang saat ini mengelola lingkungan produksi. Pastikan untuk membaca sampai akhir.
2. Cara Memeriksa Daftar Pengguna di MariaDB
Ada beberapa cara untuk memeriksa daftar pengguna di MariaDB. Setiap metode memiliki karakteristiknya sendiri, dan memilih yang tepat berdasarkan tujuan Anda memungkinkan manajemen pengguna yang efisien. Di bawah ini, kami menjelaskan tiga metode representatif secara detail.
2.1 Menggunakan Tabel mysql.user
Cara paling dasar untuk memeriksa informasi pengguna di MariaDB adalah dengan langsung merujuk tabel mysql.user. Tabel ini menyimpan semua informasi akun pengguna.
Contoh Perintah
Anda dapat melihat daftar pengguna dengan menjalankan SQL berikut:
SELECT Host, User FROM mysql.user;
Penjelasan
- Host : Menunjukkan nama host dari mana pengguna diizinkan untuk terhubung.
- User : Nama pengguna yang terdaftar di MariaDB.
Skenario Penggunaan
- Ketika Anda ingin melihat semua pengguna dalam satu daftar.
- Ketika Anda ingin memeriksa pengguna mana yang dapat terhubung dari host tertentu.
Catatan Penting
- Anda memerlukan hak istimewa yang cukup (biasanya hak
root) untuk merujuk tabelmysql.user. - Pada beberapa versi, penggunaan langsung
mysql.usermungkin tidak disarankan. Selalu periksa dokumentasi resmi untuk versi Anda.
2.2 Menggunakan Perintah SHOW GRANTS
Anda dapat menggunakan perintah SHOW GRANTS untuk memeriksa hak istimewa yang diberikan kepada pengguna tertentu.
Contoh Perintah
Tentukan pengguna seperti di bawah ini untuk menampilkan hak istimewanya:
SHOW GRANTS FOR 'username'@'hostname';
Penjelasan
- Anda dapat meninjau hak istimewa terperinci untuk setiap pengguna.
- Contoh output:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';
Skenario Penggunaan
- Ketika Anda ingin memverifikasi apakah pengaturan hak istimewa pengguna sudah benar.
- Saat memecahkan masalah yang disebabkan oleh konfigurasi hak istimewa yang salah.
Catatan Penting
- Jika Anda tidak memiliki hak istimewa yang cukup, Anda tidak akan dapat menjalankan perintah ini.
2.3 Menggunakan information_schema.USER_PRIVILEGES
MariaDB menyertakan basis data sistem bernama information_schema. Dengan menanyakan tabel USER_PRIVILEGES di dalamnya, Anda dapat menampilkan informasi hak istimewa untuk semua pengguna.
Contoh Perintah
SELECT * FROM information_schema.USER_PRIVILEGES;
Penjelasan
- Metode ini memungkinkan Anda meninjau hak istimewa global untuk setiap pengguna.
- Output mencakup informasi seperti:
- GRANTEE : Nama pengguna dan host.
- PRIVILEGE_TYPE : Jenis hak istimewa yang diberikan.
- IS_GRANTABLE : Apakah hak istimewa dapat diberikan kepada orang lain.
Skenario Penggunaan
- Ketika Anda ingin meninjau hak istimewa untuk banyak pengguna sekaligus.
- Saat melakukan audit pengaturan hak istimewa global.
Catatan Penting
- Beberapa hak istimewa mungkin tidak sepenuhnya terlihat di tabel ini.
Ringkasan
Dengan memanfaatkan metode‑metode ini secara tepat, Anda dapat mengelola akun pengguna dan informasi hak istimewa MariaDB secara efektif. Setiap pendekatan memiliki keunggulannya, sehingga memilih yang tepat berdasarkan tujuan spesifik Anda sangat penting.

3. Manajemen Rinci Pengguna MariaDB
MariaDB memungkinkan Anda meninjau informasi pengguna secara detail dan mengelola hak istimewa dengan efisien. Pada bagian ini, kami menjelaskan operasi penting yang diperlukan untuk manajemen pengguna yang tepat.
3.1 Memeriksa Informasi Pengguna
Di MariaDB, Anda dapat menggunakan perintah SHOW CREATE USER untuk memeriksa informasi rinci tentang pengguna tertentu. Perintah ini mereproduksi pernyataan yang digunakan saat pengguna dibuat.
Contoh Perintah
Jalankan SQL berikut untuk menampilkan informasi rinci tentang pengguna yang ditentukan:
SHOW CREATE USER 'username'@'hostname';
Penjelasan
Perintah ini digunakan untuk memverifikasi metode autentikasi pengguna dan atribut lainnya. Contoh output:
CREATE USER 'user1'@'localhost' IDENTIFIED VIA mysql_native_password USING '***';
Skenario Penggunaan
- Saat Anda ingin mengonfirmasi metode autentikasi pengguna.
- Saat meninjau atribut pengguna untuk potensi masalah.
Catatan Penting
- Hak istimewa yang tepat diperlukan untuk menjalankan perintah ini (biasanya hak istimewa
root).
3.2 Mengatur dan Memodifikasi Hak Istimewa Pengguna
MariaDB memungkinkan konfigurasi hak istimewa yang fleksibel untuk setiap pengguna. Anda dapat menggunakan perintah GRANT dan REVOKE untuk mengelola hak istimewa.
Memberikan Hak Istimewa
SQL berikut memberikan hak istimewa tertentu kepada pengguna yang ditunjuk:
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
Mencabut Hak Istimewa
Untuk menghapus hak istimewa yang tidak perlu, gunakan perintah REVOKE:
REVOKE INSERT ON database_name.* FROM 'username'@'hostname';
Penjelasan
- Perintah
GRANTmenetapkan hak istimewa operasi untuk database atau tabel tertentu. - Perintah
REVOKEmenghapus hak istimewa yang tidak lagi diperlukan.
Skenario Penggunaan
- Saat mengonfigurasi hak istimewa untuk pengguna baru.
- Saat menghapus hak istimewa yang tidak perlu untuk meningkatkan keamanan.
Catatan Penting
- Konfigurasi hak istimewa yang salah dapat meningkatkan risiko keamanan, jadi beroperasi dengan hati-hati.
3.3 Menghapus Pengguna
Menghapus pengguna yang tidak perlu meningkatkan keamanan database. Gunakan perintah DROP USER untuk menghapus pengguna.
Contoh Perintah
Jalankan SQL berikut untuk menghapus pengguna yang ditentukan:
DROP USER 'username'@'hostname';
Penjelasan
- Saat pengguna dihapus, semua hak istimewa yang diberikan kepada pengguna tersebut dihapus secara bersamaan.
- Jika berhasil, MariaDB menampilkan pesan “Query OK”.
Skenario Penggunaan
- Saat secara permanen menghapus pengguna yang tidak perlu dari database.
- Saat membersihkan akun yang tidak digunakan untuk tujuan keamanan.
Catatan Penting
- Jika pengguna saat ini terhubung, kesalahan yang tidak diinginkan mungkin terjadi.
- Penghapusan pengguna tidak dapat dibatalkan, jadi konfirmasi dengan hati-hati sebelum menjalankan.
Ringkasan
Pengelolaan pengguna yang tepat di MariaDB sangat penting untuk meningkatkan keamanan dan efisiensi operasional. Dengan meninjau informasi pengguna, mengonfigurasi dan memodifikasi hak istimewa, serta menghapus pengguna yang tidak perlu, Anda dapat mempertahankan lingkungan database yang aman dan efisien.

4. Pertimbangan Utama untuk Pengelolaan Pengguna MariaDB
Untuk mengelola pengguna MariaDB dengan benar, Anda perlu memperhatikan beberapa poin penting. Bagian ini menjelaskan cara menangani hak istimewa yang tidak mencukupi, pertimbangan keamanan utama, dan perbedaan antar versi.
4.1 Cara Menangani Hak Istimewa yang Tidak Mencukupi
Memeriksa daftar pengguna atau hak istimewa di MariaDB memerlukan izin yang cukup. Jika operasi gagal karena hak istimewa yang tidak mencukupi, Anda dapat mencoba pendekatan berikut.
Contoh Kesalahan
Anda mungkin melihat kesalahan seperti berikut:
ERROR 1045 (28000): Access denied for user 'user1'@'localhost'
Cara Memperbaikinya
- Konfirmasi bahwa Anda login sebagai pengguna yang benar
- Jika hak istimewa yang diperlukan (misalnya, hak istimewa
SELECT) hilang, Anda mungkin tidak dapat memquery tabelmysql.user. - Sebagai solusi sementara, coba login sebagai pengguna root dan ulangi operasi.
- Login sebagai pengguna root
- Login sebagai root memungkinkan sebagian besar operasi administratif:
bash mysql -u root -p
- Rekonfigurasi hak istimewa
- Berikan hak istimewa yang diperlukan jika diperlukan:
sql GRANT ALL PRIVILEGES ON *.* TO 'username'@'hostname'; FLUSH PRIVILEGES;
Catatan Penting
- Hindari memberikan hak istimewa lebih dari yang diperlukan. Hak istimewa berlebih meningkatkan risiko keamanan.
4.2 Praktik Terbaik Keamanan
Keamanan harus menjadi prioritas utama dalam manajemen pengguna MariaDB. Berikut adalah poin-poin penting yang perlu diingat.
Hapus Pengguna yang Tidak Digunakan
- Meninggalkan akun pengguna yang tidak digunakan dapat menjadikannya target potensial bagi penyerang.
- Tinjau pengguna secara berkala dan hapus akun yang tidak diperlukan:
DROP USER 'username'@'hostname';
Gunakan Kebijakan Kata Sandi yang Kuat
- Saat membuat pengguna, tetapkan kata sandi yang sulit ditebak:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'StrongPassword123!';
Batasi Akses Eksternal
- Batasi host yang dapat terhubung untuk mencegah akses eksternal yang tidak diperlukan:
CREATE USER 'user1'@'192.168.0.1' IDENTIFIED BY 'password';
Pantau Log
- Tinjau log MariaDB secara berkala (misalnya,
general_logdanerror_log) untuk mendeteksi akses yang mencurigakan.
4.3 Perbedaan Antara Versi MariaDB
Perilaku MariaDB dan praktik yang direkomendasikan dapat bervariasi menurut versi, jadi Anda harus menyesuaikan pendekatan Anda sesuai.
Penghapusan Akses Langsung mysql.user
- Pada versi yang lebih baru, melakukan kueri langsung pada tabel
mysql.usermungkin tidak disarankan. Dalam hal ini, gunakanSHOW GRANTSatauinformation_schemasebagai gantinya.
Plugin Otentikasi
- Tergantung pada versinya, plugin otentikasi default dapat berbeda. Versi lama biasanya menggunakan
mysql_native_password, sementara versi baru mungkin merekomendasikan opsi yang lebih aman seperticaching_sha2_password.
Langkah-Langkah yang Direkomendasikan
- Periksa versi MariaDB Anda:
SELECT VERSION();
- Rujuk ke dokumentasi resmi untuk versi Anda dan ikuti praktik terbaik terbaru.
Ringkasan
Dengan memahami pertimbangan kunci ini untuk manajemen pengguna MariaDB, Anda dapat memperkuat keamanan dan meningkatkan efisiensi operasional. Perhatikan masalah hak istimewa dan perbedaan spesifik versi, serta terapkan langkah-langkah keamanan terkini.
5. FAQ (Pertanyaan yang Sering Diajukan)
Berikut adalah pertanyaan dan jawaban umum terkait manajemen pengguna MariaDB. Bagian ini mencakup konfigurasi hak istimewa, penanganan kesalahan, dan masalah pengguna root yang sering dihadapi administrator.
Q1: Bagaimana saya dapat memberikan hak istimewa hanya kepada pengguna tertentu?
Jawaban
Anda dapat menggunakan perintah GRANT untuk memberikan hanya hak istimewa yang diperlukan kepada pengguna tertentu. Berikut contoh yang memberikan hak istimewa SELECT dan INSERT pada basis data tertentu:
GRANT SELECT, INSERT ON database_name.* TO 'username'@'hostname';
FLUSH PRIVILEGES;
Poin-Poin Penting
- Dengan menentukan
database_name.*, hak istimewa berlaku untuk semua tabel dalam basis data tersebut. - Jalankan
FLUSH PRIVILEGES;untuk memastikan perubahan diterapkan.
Q2: Apa penyebab dan solusi ketika daftar pengguna tidak muncul?
Jawaban
Jika Anda tidak dapat melihat daftar pengguna, penyebab berikut umum terjadi.
- Hak istimewa tidak cukup
- Jika hak istimewa yang diperlukan (misalnya, hak
SELECT) tidak ada, Anda mungkin tidak dapat melakukan kueri pada tabelmysql.user. - Sebagai solusi sementara, coba masuk sebagai pengguna root dan ulangi operasi.
- Menggunakan perintah yang tepat
- Pada versi MariaDB yang lebih baru,
mysql.usermungkin tidak disarankan. Dalam hal ini, gunakan perintah berikut sebagai gantinya:SELECT User, Host FROM information_schema.USER_PRIVILEGES;
- Periksa versi MariaDB Anda
- Karena metode yang direkomendasikan dapat berbeda per versi, periksa versi Anda terlebih dahulu:
SELECT VERSION();
Q3: Apa yang harus saya lakukan jika pengguna root terkunci?
Jawaban
Jika pengguna root terkunci dan Anda tidak dapat masuk, ikuti langkah-langkah berikut.
- Mulai MariaDB dalam mode aman
- Hentikan server dan jalankan kembali dalam mode aman:
bash mysqld_safe --skip-grant-tables &
- Reset kata sandi root
- Masuk ke MariaDB dalam mode aman, lalu reset kata sandi root menggunakan perintah berikut:
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;
- Keluar dari mode aman dan mulai ulang secara normal
- Mulai ulang MariaDB dan kembali ke operasi normal.
Catatan Penting
Karena otentikasi dilewati dalam mode aman, pastikan tidak ada pihak ketiga yang dapat mengakses server selama periode ini.
Q4: Saya mendapatkan error saat menghapus pengguna. Apa yang harus saya lakukan?
Jawaban
Jika Anda mengalami error saat menghapus pengguna, masalah berikut biasanya menjadi penyebabnya.
- Pengguna yang Anda coba hapus sedang digunakan
- Jika pengguna sedang terhubung, penghapusan mungkin gagal.
- Sebagai solusi, putuskan koneksi pengguna secara paksa:
SHOW PROCESSLIST; KILL connection_id;
- Objek yang bergantung ada
- Jika ada objek yang terkait dengan pengguna (misalnya, view atau prosedur tersimpan), Anda mungkin perlu menghapusnya terlebih dahulu.
Q5: Bagaimana cara menyimpan output SHOW GRANTS?
Jawaban
Anda dapat menyimpan output SHOW GRANTS ke file untuk ditinjau nanti.
- Simpan ke file
- Gunakan klien
mysqldi baris perintah dan alihkan outputnya:bash mysql -u root -p -e "SHOW GRANTS FOR 'username'@'hostname';" > grants_output.txt
- Simpan sebagai pernyataan SQL
- Simpan output ke file teks sehingga Anda dapat menggunakannya kembali di kemudian hari.
Ringkasan
Pada bagian FAQ ini, kami membahas pertanyaan umum yang sering muncul dalam manajemen pengguna MariaDB. Gunakan jawaban ini untuk memecahkan masalah dan meningkatkan efisiensi operasional Anda.


