Bagaimana cara mengetahui semua pengguna yang dapat mengakses database?
19
Sambungkan ke instance mysql sebagai pengguna admin (umumnya sebagai root) dan berikan perintah berikut ...
select user from mysql.db where db='DB_NAME';
select user from mysql.db
tanpa kualifikasi mengembalikan 2 baris kosong juga.jawaban pengguna79644 mendapatkan pengguna dengan hak istimewa tingkat basis data tetapi akan merindukan pengguna dengan hanya tingkat tingkat tabel, tingkat kolom, atau tingkat prosedur. Untuk menemukan semuanya, gunakan pernyataan berikut:
Di MySQL 5.5 setidaknya, seolah-olah memiliki hak istimewa tingkat kolom menyiratkan bahwa Anda memiliki hak istimewa tingkat-tabel. Memiliki hak istimewa tingkat-tabel tidak berarti bahwa Anda memiliki hak istimewa tingkat basis data. Tidak yakin tentang hak istimewa tingkat prosedur.
sumber
ERROR 1046 (3D000): No database selected
mysql
database. Di situlah semua data yang digunakan oleh MySQL disimpan. Berikan perintahUSE mysql;
untuk menambahkan nama database ke nama tabel, sepertiFROM mysql.db
atauFROM mysql.tables_priv
sumber
Anda harus ingat, bahwa MySQL
GRANT
untuk database dapat berisi karakter wildcard . Ini harus dipertanggungjawabkan dengan menggunakanLIKE
dalam kueri:sumber