The Punisher
MFC Üyesi
-
- Üyelik Tarihi
- 6 Haz 2015
-
- Mesajlar
- 578
-
- MFC Puanı
- 31
MySQL'de tüm kullanıcılar ve yetkileri, "mysql" isimli bir veritabanında tutulur.
Bir kullanıcı iki parçadan oluşur : kullanici_ismi@bilgisayar_ismi (hostname). Bu ikiliyi MySQL tek bir kullanıcı olarak algılar. Yani ahmet@localhost ile ahmet@penguen 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.
Bir kullanıcı iki parçadan oluşur : kullanici_ismi@bilgisayar_ismi (hostname). Bu ikiliyi MySQL tek bir kullanıcı olarak algılar. Yani ahmet@localhost ile ahmet@penguen 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.