Урок 1. MySQL. Основные понятия
İçindekiler:
- Sen başlamadan önce
- Tüm MySQL Kullanıcılarını Göster
- Belirli Bir Veritabanına Erişimi Olan Kullanıcıları Göster
- Sonuç
MySQL sunucunuzdaki tüm kullanıcıların bir listesini almanız gerekti mi? Veritabanlarını ve tabloları gösterme komutları vardır, ancak MySQL
show users
komutu yoktur.
Bu öğreticide, MySQL veritabanı sunucusundaki tüm kullanıcı hesaplarının komut satırı üzerinden nasıl listeleneceği açıklanmaktadır. Ayrıca, belirli bir veritabanına hangi kullanıcıların erişebildiğini nasıl bulacağınızı da göstereceğiz.
Sen başlamadan önce
Sisteminizde zaten MySQL veya MariaDB sunucunuzun yüklü olduğunu varsayıyoruz.
Tüm komutlar MySQL kabuğunun içinde kök kullanıcı olarak yürütülür. MySQL kabuğuna erişmek için aşağıdaki komutu yazın ve istendiğinde MySQL kök kullanıcı parolanızı girin:
mysql -u root -p
MySQL kök parolanızı unuttuysanız, bu talimatları izleyerek sıfırlayabilirsiniz.
Tüm MySQL Kullanıcılarını Göster
MySQL, kullanıcılar hakkındaki bilgileri
mysql
veritabanında
user
adlı bir tabloda saklar.
Tüm MySQL kullanıcı hesaplarının bir listesini almak için,
mysql.users
tablosundan tüm satırları almak üzere
SELECT
deyimini kullanın:
SELECT User, Host FROM mysql.user;
Çıktı aşağıdakine benzer olmalıdır:
+------------------+-----------+ | 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)
Yukarıdaki komut
mysql.user
tablosundan (
User
ve
Host
) yalnızca iki sütun gösterir. Bu tablo,
Password
,
Select_priv
,
Update_priv
vb. Gibi 40'tan fazla sütun içerir.
desc mysql.user;
kullanın
desc mysql.user;
tablonun sütunları hakkında bilgi görüntülemek için deyim. Sütun adını öğrendikten sonra, seçilen verilere karşı bir sorgu çalıştırabilirsiniz.
Örneğin, parola ve etkin veya süresi dolmuş hakkında bilgiler de dahil olmak üzere tüm MySQL kullanıcı hesaplarının bir listesini almak için aşağıdaki sorguyu kullanırsınız:
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)
Belirli Bir Veritabanına Erişimi Olan Kullanıcıları Göster
Veritabanı düzeyinde ayrıcalıklar hakkında bilgi
mysql.db
tablosunda depolanır.
Belirli bir veritabanına hangi kullanıcıların erişebildiğini ve ayrıcalıkların seviyesini öğrenmek için tabloyu sorgulayabilirsiniz.
Örneğin,
db_name
adlı veritabanına düzey erişimi olan tüm kullanıcıların bir listesini almak için aşağıdaki sorguyu kullanırsınız:
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)
Ayrıcalıkları kullanmadan yalnızca belirli bir veritabanına erişimi olan kullanıcı hesapları hakkında bilgi almak için:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+
Aşağıdaki sorgu size tüm veritabanları ve ilişkili kullanıcılar hakkında bilgi gösterecektir:
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 | +------------------+-----------+-----------+
Sonuç
Bu eğitimde, tüm MySQL kullanıcılarının bir listesini nasıl alacağımızı ve hangi kullanıcıların belirli bir veritabanına erişebileceğini nasıl göstereceğimizi gösterdik.
Herhangi bir sorunuz varsa yorum bırakmaktan çekinmeyin.
mysql mariadbSAP Kullanıcıları Destek Tartışması Yapmıyor SAP Kullanıcıları:
'Dan Fazla Destek Tartışması Yapmadı: SAP kullanıcıları, satıcının tüm müşterilere son verme kararını kabul etmeye hazır olmadıklarını söylüyor kurumsal destek.
Dokunmatik Ekranlı Dizüstü Bilgisayarları Göstermek İçin Intel'i Dokunmatik Ekranlı Dizüstü Bilgisayarları Göstermek İçin
Intel, CES'te gelecek ay bir dokunmatik ekran içeren üçüncü nesil Classmate dizüstü bilgisayarını göstermeye hazırlanıyor.
CES'de Powerline Network Prototiplerini Göstermek için Panasonic
Panasonic, yaklaşan CES'de şarj ederken elektrikli bir otomobilin uzaktan izlenebilmesi için bir prototip HD-PLC cihazı gösteride…







