Saya menggunakan utilitas baris perintah MySQL dan dapat menavigasi melalui database. Sekarang saya perlu melihat daftar akun pengguna. Bagaimana saya bisa melakukan ini?
Saya menggunakan versi MySQL 5.4.1
.
mysql
command-line
mysql5
burntsugar
sumber
sumber
Jawaban:
Gunakan kueri ini:
Yang akan menampilkan tabel seperti ini:
Seperti yang ditunjukkan Matthew Scharley dalam komentar pada jawaban ini , Anda dapat mengelompokkan berdasarkan
User
kolom jika Anda hanya ingin melihat nama pengguna yang unik.sumber
User
juga, untuk hanya mendapatkan nilai pengguna yang unik, karena ada baris terpisah untuk setiap entriuser
@host
.DELETE FROM mysql.user;
lebih baik miliki.WHERE user='someuser' and host='somehost';
Jika Anda melakukannyaDELETE FROM mysql.user;
, semua pengguna hilang. Login setelah mysql berikutnya restart atauFLUSH PRIVILEGES;
menghilangkan pengguna dari memori. Berikut adalah contoh dari salah satu posting saya tentang melakukan secaraDELETE FROM mysql.user
bertanggung jawab: dba.stackexchange.com/questions/4614/…SHOW GRANTS FOR 'user'@'host';
DISTINCT
kata kunci:SELECT DISTINCT user FROM mysql.user;
Saya menemukan format ini yang paling berguna karena termasuk bidang host yang penting di MySQL untuk membedakan antara catatan pengguna.
sumber
host
mulai berperan saat bekerja dengan database mysql? [Mysql Noob]host
ikut bermain saat Anda terhubung dari server yang berbeda. Dimungkinkan untuk memberikan akses yang berbeda ke'packer'@'example.com'
dan'packer'@'google.com'
Akun pengguna terdiri atas nama pengguna dan akses tingkat host.
Oleh karena itu, ini adalah kueri yang memberikan semua akun pengguna
sumber
user@host
format digunakan untuk mengatur kata sandi. Menghilangkan host dariSET PASSWORD
perintah menghasilkan kesalahan.SET PASSWORD FOR wordpressuser = PASSWORD('...');
menghasilkan kesalahanERROR 1133 (42000): Can't find any matching row in the user table
. Sertakan host dan berfungsi.SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');
menghasilkanQuery OK, 0 rows affected (0.00 sec)
.ORDER BY user
.untuk menghindari pengulangan pengguna ketika mereka terhubung dari asal yang berbeda:
sumber
MySQL menyimpan informasi pengguna dalam basis datanya sendiri. Nama databasenya adalah
MySQL
. Di dalam basis data itu, informasi pengguna ada dalam sebuah tabel, sebuah dataset, namanyauser
. Jika Anda ingin melihat apa yang diatur pengguna di tabel pengguna MySQL, jalankan perintah berikut:sumber
Jika Anda merujuk pada pengguna MySQL yang sebenarnya, coba:
sumber
Ini meja besar sehingga Anda mungkin ingin lebih selektif dalam bidang apa yang Anda pilih.
sumber
localhost
,127.0.0.1
dan::1
. Yang mana yang harus saya simpan dan apa yang harus saya hapus? Terima kasih!Login ke mysql sebagai root dan ketik query berikut
sumber
GRANT SELECT ON mysql.user TO 'user1'@'localhost';
sekarang login sebagai user1 dan ketik perintahselect User from mysql.user;
Anda akan melihat daftar pengguna ditampilkan. :) +1 NikmatiTabel mysql.db mungkin lebih penting dalam menentukan hak pengguna. Saya pikir sebuah entri di dalamnya dibuat jika Anda menyebutkan tabel dalam perintah GRANT. Dalam kasus saya, tabel mysql.users tidak menunjukkan izin untuk pengguna saat jelas dapat terhubung dan memilih, dll.
sumber
Saya menggunakan ini untuk mengurutkan pengguna, sehingga host yang diizinkan lebih mudah dikenali:
sumber
Peter dan Jesse benar tetapi pastikan Anda memilih DB mysql terlebih dahulu.
use mysql;
select User from mysql.user;
yang seharusnya melakukan trik Anda
sumber
use mysql;
berjaga-jaga jika Anda lingkup tabel ke database mysql seperti yang Anda lakukan. Anda bisaselect User from mysql.user;
use mysql;
hanya agar Anda dapat menggunakannyaselect User from user;
sebagai gantinyaselect User from mysql.user;
karena biasanya merupakan permintaan satu kali, tidak perlu menggunakan mysql dbuse mysql
jika Anda telah menggunakan lebihselect user from user;
dari itu bisa menjadi sesuatu, tetapi sebaliknya Anda menggunakanmysql.user
, yang membuat penggunaanuse mysql
di awal tidak perlu.Ini menampilkan daftar pengguna unik:
sumber
Menjalankan perintah ini pada linux prompt pertama-tama akan meminta kata sandi dari pengguna root mysql, pada memberikan kata sandi yang benar itu akan mencetak semua pengguna database ke file teks.
sumber
Saya menemukan satu lagi berguna karena memberikan informasi tambahan tentang hak istimewa DML dan DDL
sumber
gunakan kueri di atas untuk mendapatkan Pengguna Mysql
sumber