Cara melihat user di MySQL dan detailnya menggunakan Linux

Cara melihat user di MySQL dan detailnya menggunakan Linux

Server database MySQL masih menjadi salah satu pilihan utama bagi developer maupun siapa saja yang ingin belajar bahasa query terstruktur (SQL). MySQL terkenal karena fiturnya yang lengkap, aman, dan efisien.

Namun, untuk menjaga keamanan server, sebaiknya jangan hanya menggunakan satu akun dengan akses penuh. Anda disarankan untuk membuat beberapa akun pengguna dengan hak akses terbatas.

Di tutorial kali ini, kami akan membahas alasan pentingnya membuat akun terpisah, sekaligus cara melihat user MySQL di VPS menggunakan query yang serupa dengan SHOW USERS. Lanjutkan membaca sampai selesai yuk!

Mengapa perlu membuat beberapa user di MySQL?

Saat Anda menginstal MySQL, akun pertama yang akan otomatis dibuat adalah user root. Akun ini berfungsi sebagai administrator MySQL dan memiliki izin penuh untuk mengelola semua database.

Akses penuh ini memang praktis dari segi kegunaan, tapi dari sisi keamanan, risikonya justru tinggi. Selain itu, berbagi akun root dengan banyak orang akan sangat berbahaya. Hacker biasanya mencoba menembus server MySQL dengan akun root, dan kalau berhasil, seluruh data Anda bisa dicuri atau bahkan dihapus.

Oleh karena itu, administrator sistem biasanya membuat akun khusus dengan hak akses terbatas. Dengan begitu, kalau salah satu akun kena hack, dampaknya bisa dibatasi pada database tertentu dan tidak sampai merusak seluruh server.

Cara melihat user MySQL di Linux

Berbeda dengan perintah SHOW DATABASES atau SHOW TABLES yang memang tersedia di MySQL, perintah SHOW USERS sebenarnya tidak ada. Tapi jangan khawatir, Anda tetap bisa melihat daftar user dengan menjalankan query tertentu.

1. Login sebagai user root MySQL

Pertama, masuk ke server VPS melalui SSH sebagai root. Setelah itu, masuk ke MySQL CLI dengan perintah:

sudo mysql -u root -p

Kemudian, masukkan password root MySQL Anda.

Penting! Password sistem Linux berbeda dengan password root MySQL. Jadi, pastikan Anda menggunakan password yang benar.

Setelah berhasil masuk, Anda bisa mulai menjalankan query untuk menampilkan daftar user.

2. Gunakan query untuk menampilkan user

Jalankan perintah berikut untuk menampilkan semua user yang ada di server MySQL:

SELECT user FROM mysql.user;

Hasilnya, Anda akan melihat daftar semua user MySQL yang sudah dibuat.

Perhatikan bahwa Anda mungkin melihat user yang sama muncul lebih dari sekali. Hal ini terjadi karena MySQL juga memfilter akses berdasarkan host atau alamat IP asal login.

Agar lebih jelas, gunakan query berikut untuk menampilkan username beserta host yang terkait:

SELECT user,host FROM mysql.user;

Dengan begitu, Anda bisa tahu siapa saja user yang ada dan dari host mana mereka diperbolehkan login. Di tutorial ini, semua pengguna berasal dari database lokal:

3. Melihat detail user MySQL lainnya (opsional)

Kalau membutuhkan informasi yang lebih lengkap, Anda bisa memperluas perintah pencarian menggunakan query MySQL.

Contohnya, perintah berikut akan menampilkan semua informasi yang tersimpan dalam tabel pengguna:

SELECT * FROM mysql.user;

Namun, hasilnya biasanya sangat panjang dan sulit dibaca. Karena itu, kami sarankan agar Anda mempersempit query sesuai kebutuhan.

Berikut beberapa contoh query yang sering digunakan:

Melihat struktur kolom tabel user

Query berikut ini akan menampilkan pratinjau kolom tabel user. Fungsi ini sangat berguna kalau Anda ingin memeriksa informasi tentang tabel tertentu.

DESC mysql.user

Menampilkan username tanpa duplikat

Untuk melewati username yang berulang, gunakan query berikut:

SELECT DISTINCT user FROM mysql.user;

Memeriksa status password dan akun terkunci

Untuk memeriksa status kedaluwarsa password dan penguncian akun, gunakan query berikut ini:

SELECT user, account_locked, password_expired FROM mysql.user;

Melihat user saat ini dan user yang sedang login

Anda bisa menampilkan user saat ini menggunakan query berikut:

SELECT current_user();

Kalau ingin memantau siapa saja yang sedang login beserta statusnya, Anda bisa memodifikasi query ini. Langkah ini berguna untuk mendeteksi user yang sedang tidak aktif, yang menghabiskan terlalu banyak resource server.

SELECT user,host, command FROM information_schema.processlist;

Kesimpulan

Mengelola server database memang membutuhkan ketelitian. Oleh karena itu, administrator perlu berhati-hati saat membuat akun baru dan mengatur izin user di MySQL.

Walaupun MySQL tidak memiliki perintah khusus SHOW USERS, Anda tetap bisa menggunakan berbagai query untuk menampilkan daftar user dan detail penting lainnya.

Sebagai rangkuman, di tutorial ini kita sudah mempelajari berbagai cara melihat user MySQL:

  • Melihat semua user yang sudah dibuat di database MySQL
  • Menampilkan struktur kolom di tabel MySQL
  • Menampilkan username unik tanpa duplikat
  • Memeriksa status password dan akun terkunci
  • Melihat user saat ini serta siapa saja yang sedang login ke MySQL

Apabila Anda masih memiliki pertanyaan atau ingin berbagi pendapat tentang pengelolaan user di MySQL, silakan bagikan di kolom komentar.

Tanya jawab (FAQ) cara melihat user MySQL

Bagaimana cara melihat semua user dan password di MySQL?

Gunakan query berikut di MySQL CLI:
SELECT user, password, host FROM mysql.user;
Query ini akan menampilkan daftar user beserta password dan host terkait.

Bagaimana cara melihat user MySQL di MariaDB?

Login ke server MariaDB/MySQL dengan perintah berikut:
mysql -u root -p
atau
mysql -u root -h localhost -p mysql
Setelah itu, jalankan query untuk menampilkan user seperti di MySQL.

Di mana lokasi user disimpan di MySQL?

Semua informasi user disimpan di tabel user yang ada di dalam database mysql.

Author
Penulis

Faradilla Ayunindya

Faradilla, yang lebih akrab disapa Ninda, sudah berpengalaman selama 10 tahun sebagai linguist dan 5 tahun sebagai Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca mengatasi masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.