Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

MySQL' De Kullanıcılar ve Yetkilendirme

The Punisher

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    6 Haz 2015
  • Mesajlar
    577
  • MFC Puanı
    21
  • MFC Seviyesi

MySQL'de tüm kullanıcılar ve yetkileri, "mysql" isimli bir veritabanında tutulur.


Bir kullanıcı iki parçadan oluşur : [email protected]_ismi (hostname). Bu ikiliyi MySQL tek bir kullanıcı olarak algılar. Yani [email protected] ile [email protected] aynı kullanıcılar değildir (localhost ve penguen aynı makinalar olsa dahi).


Bir kullanıcının 4 yetki seviyesi vardır. Her yetki seviyesi için mysql isimli veritabanında birer tablo bulunur.


Hiyerarşik olarak bu tablolar en genelden özele doğru tanımlama yapar.


User tablosu : Bağlanan kullanıcının sunucuya bağlanma hakkı olup olmadığını kontrol eder. Eğer erişim hakkı varsa, kullanıcı tabloda kendisi için belirtilen yetkilere sahip olur.


Db tablosu : Hangi kullanıcıların hangi veritabanlarına hangi bilgisayarlardan ulaşabileceğini belirler. Eğer kullanıcının ilgili veritabanına erişim hakkı varsa, tabloda kendisi için belirtilen yetkilere sahip olur.


Tables_priv tablosu : Aynı db tablosu gibi çalışır, ancak veritabanları yerine içindeki tablolara erişimi düzenler.


Columns_priv tablosu : Aynı db ve tables_priv tabloları gibi çalışır, ancak veritabanlarının içindeki tabloların içindeki kolonlara erişimi düzenler.


mysql veritabanı
|
|
user
|
|
db
|
|
tables_priv
|
|
columns_priv



Yetki tabloları ve mysql isimli veritabanı, normal MySQL veritabanları gibi çalışır. INSERT, UPDATE, DELETE gibi standart sql komutları ile tıpkı herhangi bir veritabanı üzerinde işlem yapıyor gibi kullanıcı tanımları yapabilirsiniz.



Kullanıcılara Verilebilen Yetkiler

Select_priv : Kayıtları okuma

Insert_priv : Kayıt ekleme

Update_priv : Kayıt değiştirme/güncelleme

Delete_priv : Kayıt silme

Create_priv : Veritabanı/tablo yaratma

Drop_priv : Veritabanı/tablo kaldırma

Reload_priv : MySQL'i yeniden başlatma

Shutdown_priv : MySQL'i kapatma

Process_priv : MySQL'de çalışan işlemleri takip etme

File_priv : Sunucudan dosya okuyup / yazma

Grant_priv : Başka kullanıcılara yetki verme

Index_priv : Indeks yaratma, değiştirme, silme

Alter_priv : Tablo ya da veritabanının yapısını değiştirme

Show_db_priv : Veritabanı listeleme

Lock_tables_priv : Tablo kitleme

Max_questions : Bir saat içinde yapılabilecek enfazla sorgu sayısı

Max_updates : Bir saat içinde yapılabilecek en fazla güncelleme sorgusu sayısı

Max_connections : Bir saat içinde yapılabilecek en fazla bağlantı sayısı



MySQL'in kullanıcı tablolarında herhangi bir değişiklik yaptığınız zaman, değişikliklerin aktif hale gelebilmesi için FLUSH PRIVILEGES komutunu MySQL sunucusuna göndermeniz gerekir.​
 
Üst Alt