Bagaimana saya mencari untuk melihat apakah ada pengguna MySQL di sistem?

8

Saya tidak menemukan pengguna dengan show grants for 'username'@'localhost''berpikir bahwa mungkin nama pengguna sedikit berbeda, jadi saya ingin melakukan pencarian wildcard dari semua pengguna basis data. Bagaimana saya bisa melakukan ini?

pembaruan: untuk klarifikasi, karena saya pikir mungkin saya belum 100% jelas. dengan wildcard yang saya maksud adalah saya ingin dapat mencari hanya sebagian dari nama pengguna, atau untuk semua pengguna yang namanya cocok dengan pola. Pada sistem saya membutuhkan ini pada ada pengguna 5k +, dan meskipun itu bukan kerugian kinerja besar, saya tidak ingin melihat mereka satu per satu.

xenoterracide
sumber

Jawaban:

9

Terima kasih atas jawaban @matthewh , saya berhasil membuat kueri yang akan berfungsi saat mencari melalui sejumlah besar pengguna:

use mysql;
select  User, Host from  user where User like 'user%';

Catatan: <user> adalah komponen apa pun dari nama pengguna yang perlu Anda cari, Anda mungkin perlu% di kedua sisi jika Anda tidak tahu awal nama pengguna, juga <> hanya untuk mencatat variabel, jangan memasukkannya dalam kueri yang sebenarnya, kecuali jika nama pengguna menyertakan <atau>.

xenoterracide
sumber
7
use mysql;

select Host,User from user;

akan memberi Anda semua pengguna MySQL di server itu.

Matt Healy
sumber
Saya memilih yang ini, karena itu tidak melakukan apa yang saya maksud dengan wildcard, meskipun saya mengakui bahwa mungkin kesalahan saya karena tidak cukup jelas di muka. Itu mungkin telah ditafsirkan sebagai segalanya ketika apa yang saya inginkan adalah setara dengan `find -name 'user *' untuk nama file di unix.
xenoterracide