Kadang kita ingin melihat siapa saja yang memiliki hak akses super administrator, atau bisa jadi baru saja terjadi bencana seperti pembobolan data? dan kemudian kita ingin melihat atau meneliti siapa saja yang memiliki hak akses di MySQL server.

Jika Anda melihat panduan kami tentang dasar manajemen MySQL di baris perintah, terdapat perintah untuk menampilkan database dan tabel, tetapi tidak ada perintah MySQL untuk “menampilkan pengguna”.

Tutorial ini menjelaskan cara membuat daftar semua akun pengguna di server database MySQL melalui baris perintah.

Sebelum mulai

 

Sebelum Anda mulai dengan tutorial ini, kami mengasumsikan bahwa Anda sudah menginstal MySQL server atau MariaDB di sistem Anda. Jika belum, Anda dapat menginstalnya dengan mudah dengan mengikuti salah satu tutorial di bawah ini:

Semua perintah akan dieksekusi di dalam shell MySQL sebagai pengguna root.

Untuk mengakses shell MySQL ketik perintah berikut dan masukkan kata sandi pengguna root MySQL Anda ketika diminta:

mysql -u root -p

Jika Anda belum menetapkan kata sandi untuk pengguna root MySQL, Anda dapat menghilangkan flag-p.

Jika lupa kata sandi root MySQL, Anda dapat meresetnya dengan mengikuti instruksi ini.

Tampilkan User MySQL

MySQL menyimpan informasi tentang pengguna, dalam tabel bernama user di database mysql . Untuk mendapatkan daftar semua akun pengguna MySQL kita dapat menggunakan pernyataan SELECT untuk mengambil semua baris dari tabel mysql.users:

SELECT User, Host FROM mysql.user;

Outputnya akan terlihat seperti di bawah ini (tabel merupakan contoh data):

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | localhost |
| admn             | %         |
| yuli             | %         |
| babba            | 10.10.0.3 |
| babba            | 10.10.0.5 |
| chikazush        | localhost |
| lala             | localhost |
| badu             | localhost |
+------------------+-----------+
8 rows in set (0.00 sec)

Perintah di atas hanya menampilkan dua kolom dari tabel mysql.user (User dan Host), Tabel ini berisi lebih dari 40 kolom seperti PasswordSelect_privUpdate_priv… dll.

Akun pengguna di MySQL terdiri dari nama pengguna dan host name. Anda dapat menggunakan pernyataan desc mysql.user; untuk menampilkan informasi tentang masing-masing kolom tabel. Setelah Anda tahu nama kolom, jalankan kueri terhadap data yang dipilih.

Misalnya untuk mendapatkan daftar semua akun pengguna MySQL termasuk informasi tentang kata sandi dan apakah kata sandi itu aktif atau expired (kedaluarsa), Anda dapat menggunakan kueri berikut:

SELECT User, Host, Password, password_expired FROM mysql.user;
+----------------+-----------+-------------------------------------------+------------------+
| User           | Host      | Password                                  | password_expired |
+----------------+-----------+-------------------------------------------+------------------+
| root           | localhost |                                           | N                |
| admn           | %         | *ADC3B5B72617732CD6320A2DA976258E149A7EC8 | N                |
| yuli           | %         | *9550E004546348198A143A115550E1262209FB6F | N                |
| babba          | 10.10.0.6 | *F91C86B445B945C083B61A05FF6E197560D187EC | Y                |
| babba          | 10.10.0.9 |                                           | Y                |
| chikazush      | localhost | *17F2B1E48058294841AD66772BEBB7E6E6A005AF | N                |
| lala           | localhost | *74409C8DB64AC1A6829D801915981C46EDBFC64A | N                |
| badu            | localhost | *7B3022FCAEC6534CE67C68322D8AF0C240D95745 | N                |
+----------------+-----------+-------------------------------------------+------------------+
8 rows in set (0.00 sec)

Kesimpulan

Dalam tutorial ini, kami telah menunjukkan kepada Anda cara mendapatkan daftar semua akun pengguna MySQL dengan mengambil data dari tabel pengguna di database mysql.

Lihat juga panduan lain tentang mengolah dan mengatur database :