Belajar PHP untuk PEMULA | 10. DATABASE & MySQL
Isi kandungan:
- Sebelum awak bermula
- Tunjukkan Semua Pengguna MySQL
- Tunjukkan Pengguna yang Mempunyai Akses kepada Pangkalan Data Khusus
- Kesimpulannya
Pernahkah anda perlukan untuk mendapatkan senarai semua pengguna dalam pelayan MySQL anda? Terdapat arahan untuk memaparkan pangkalan data dan jadual, tetapi tiada arahan
show users
MySQL.
Tutorial ini menerangkan cara menyenaraikan semua akaun pengguna dalam pelayan pangkalan data MySQL melalui baris arahan. Kami juga akan menunjukkan kepada anda bagaimana mengetahui pengguna mana yang mempunyai akses kepada pangkalan data yang diberikan.
Sebelum awak bermula
Kami mengandaikan bahawa anda sudah mempunyai pelayan MySQL atau MariaDB yang dipasang pada sistem anda.
Semua arahan dilaksanakan di dalam shell MySQL sebagai pengguna root. Untuk mengakses jenis shell MySQL perintah berikut dan masukkan kata laluan pengguna root MySQL anda apabila diminta:
mysql -u root -p
Jika anda terlupa kata laluan root MySQL anda, anda boleh menetapkannya semula dengan mengikuti arahan ini.
Tunjukkan Semua Pengguna MySQL
MySQL menyimpan maklumat mengenai pengguna dalam jadual yang dinamakan
user
dalam pangkalan data
mysql
.
Untuk mendapatkan senarai semua akaun pengguna MySQL, gunakan pernyataan
SELECT
untuk mengambil semua baris dari jadual
mysql.users
:
SELECT User, Host FROM mysql.user;
Keluaran harus kelihatan sama seperti di bawah:
+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)
Perintah di atas hanya menunjukkan dua lajur dari jadual
mysql.user
(
User
dan
Host
), Jadual ini mengandungi lebih daripada 40 lajur seperti
Password
,
Select_priv
,
Update_priv
, dll.
Gunakan
desc mysql.user;
pernyataan untuk memaparkan maklumat mengenai lajur jadual. Sebaik sahaja anda mengetahui nama lajur, anda boleh menjalankan pertanyaan terhadap data yang dipilih.
Sebagai contoh, untuk mendapatkan senarai semua akaun pengguna MySQL termasuk maklumat tentang kata laluan dan sama ada ia aktif atau tamat tempoh, anda akan menggunakan pertanyaan berikut:
SELECT User, Host, Password, password_expired FROM mysql.user;
+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)
Tunjukkan Pengguna yang Mempunyai Akses kepada Pangkalan Data Khusus
Maklumat mengenai keistimewaan peringkat pangkalan data disimpan di dalam jadual
mysql.db
.
Anda boleh meminta jadual untuk mengetahui pengguna mana yang mempunyai akses kepada pangkalan data yang diberikan dan tahap keistimewaan.
Sebagai contoh, untuk mendapatkan senarai semua pengguna yang mempunyai beberapa akses peringkat ke pangkalan data bernama
db_name
anda akan menggunakan pertanyaan berikut:
SELECT * FROM mysql.db WHERE Db = 'db_name'\G;
*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)
Untuk mendapatkan maklumat hanya tentang akaun pengguna yang mempunyai akses kepada pangkalan data yang diberikan, tanpa memaparkan keistimewaan yang digunakan:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+
Pertanyaan berikut akan menunjukkan maklumat tentang semua pangkalan data dan pengguna yang berkaitan:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+
Kesimpulannya
Dalam tutorial ini, kami telah menunjukkan cara untuk mendapatkan senarai semua pengguna MySQL dan mengetahui pengguna mana yang mempunyai akses kepada pangkalan data tertentu.
Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.
mysql mariadbFirefox: senarai kawalan senarai bar autocomplete menunjukkan senarai
Mahu mengawal keputusan yang ditunjukkan oleh senarai autocomplete bar alamat di Firefox? Mungkin anda tidak mahu ia menunjukkan sejarah pelayar anda. Lihat bagaimana.
Bagaimana untuk melumpuhkan senarai suis senarai suar panas pada tingkap 8
Senarai suis aplikasi dalam Windows 8 mengganggu anda? Inilah cara untuk melumpuhkannya sepenuhnya.
Bagaimana untuk menunjukkan senarai semua pangkalan data dalam mysql
Apabila mentadbir pangkalan data pangkalan MySQL, salah satu tugas yang paling biasa yang perlu anda lakukan adalah untuk mengenali alam sekitar. Tutorial ini menerangkan bagaimana untuk menunjukkan semua pangkalan data dalam pelayan MySQL atau MariaDB melalui baris arahan.







