MySQL’de İzin Yönetimi

Bölüm 1 

Öncelikle belli başlı komutları anlamlarıyla birlikte öğrenmemiz gerekiyor bu komutlar şöyle:

  • ALL PRIVILEGES- daha önce gördüğümüz gibi, bu bir MySQL kullanıcısının atanmış bir veritabanına tam erişimini sağlar (ya da herhangi bir veritabanı seçilmemişse, sistem genelinde global erişim)
  • CREATE- kullanıcıların yeni tablolar veya veritabanları oluşturmasına izin verir
  • DROP- kullanıcıların tabloları veya veritabanlarını silmelerine izin verir
  • DELETE- tablolardaki satırları silmelerine izin verir
  • INSERT-, tablolara satır eklemelerini sağlar
  • SELECT – SELECTveri tabanlarını okumak için bu komutu kullanmalarına izin verir
  • UPDATE – tablo satırlarını güncellemelerine izin ver
  • GRANT OPTION, diğer kullanıcıların ayrıcalıklarını vermelerine veya kaldırmasına olanak tanır

Bu komutları öğrendikten sonra mysql de kullanım biçimine geçicez

Bölüm 2

Belirli bir kullanıcıya izin vermek için bu örneği kullanabilirsiniz:

mysql > GRANT   izin_tipi ON   veritabanı_ismi.tablo_ismi TO ‘kullanıcı_adı’@'localhost’;

Herhangi bir veritabanına veya herhangi bir tabloya erişim vermek istiyorsanız, veritabanı adı veya tablo adı yerine yıldız işareti (*) koyduğunuzdan emin olun.

Bir izni her güncellediğinizde veya değiştirdiğinizde, Flush Privileges komutunu kullandığınızdan emin olun.

mysql>  FLUSH PRIVILEGES;

Bir izni iptal etmeniz gerekirse,oluşturmuş olduğumuz taslaktaki gibi izin tipi veritabanı ismi tablo ismi kullanıcı adı ve bilgisayar ismini belirtmek zorundasınız.

mysql > REVOKE   izin_tipi ON   veritabanı_ismi.tablo_ismi FROM ‘kullanıcı_adı’@'localhost’;

İzinleri iptal ederken,  izinleri verirken kullandığımızın TO yerine kullanmanız gerektiğini unutmayın FROM.

Bölüm 3

Aşağıdaki komutla kullanıcının geçerli izinlerini inceleyebilirsiniz:

mysql> SHOW GRANTS kullanıcı_adı;

DROP ile veritabanlarını silebileceğiniz gibi, bir kullanıcıyı tamamen silmek için DROP’u kullanabilirsiniz:

mysql> DROP USER ‘kulanıcı_adı’@‘localhost’;

NOT: . localhost“bu bilgisayar” anlamına gelen bir ana bilgisayar adıdır ve MySQL bu özel ana bilgisayar adını özel olarak ele alır: bu ana makineye sahip bir kullanıcı MySQL’de oturum açtığında bir Unix soket dosyası kullanarak yerel sunucuya bağlanmayı dener. Bu nedenle, localhostgenellikle SSH ile sunucunuza bağlanmayı planladığınızda veya mysqlyerel MySQL sunucusuna bağlanmak için yerel istemciyi çalıştırırken kullanılır .