MySQL Kullanıcı Oluşturma ve Ayrıcalık Tanımlama: Acemi Rehberi

MySQL Kullanıcı Oluşturma ve Ayrıcalık Tanımlama: Acemi Rehberi

MySQL işlemlerinin temellerini öğrenmek mi istiyorsunuz? O halde okumaya devam edin çünkü bu rehberimizde MySQL kullanıcı oluşturma nasıl yapılır göstereceğiz. Ayrıca ayrıcalık vermek veya geri almak ve mevcut kullanıcıları silmek üzerine birçok komut göstereceğiz.

Rehberimizin sıradaki kısmına geçmeden önce MySQL yüklediğinizden emin olun.

NOT: Linux VPS’e root olarak komut satırını kullanarak erişeceğiz. Hosting sağlayıcınızın sağladığı SSH root giriş bilgisini kullanarak giriş yapmak için PuTTY (Windows) veya terminalinizi (macOS, Linux) kullanabilirsiniz.

MySQL Kullanıcı Oluşturma ve Tüm Ayrıcalıkları Tanımlama

MySQL’i kullanmaya başladığınızda, size bir kullanıcı adı ve bir şifre verilecektir. Bu ilk kimlik bilgileri size ‘root erişimi’ sağlar. Root kullanıcı bu veritabanlarındaki tüm veritabanlarına ve tablolara tam erişime sahiptir.

Ancak çoğu zaman, veritabanının erişimini, başkalarına tam kontrol sağlamadan vermeniz gerekir.

Örneğin, uygulamanızda bir değişiklik yapması için geçici süreliğine işe aldığınız geliştiricilere hassas bilgi silme veya düzenlemeye dair izin vermek istemeyebilirsiniz.

Bu durumda onlara root olmayan kullanıcı bilgileri vermelisiniz. B şekilde geliştiricilerin veriyle neler yapıp ve yapamayacağını kontrol edebilirsiniz.

Bu kısımda size yeni bir MySQL kullanıcısının nasıl oluşturulacağını ve bunlara veritabanınızın tüm ayrıcalıklarını nasıl verileceğini göstereceğiz. Pratik anlamda, root olmayan bir kullanıcıya tam kontrol vermek akıllıca değildir ancak kullanıcı ayrıcalıkları hakkında bilgi edinmek iyi bir giriş noktasıdır.

Yeni bir kullanıcı oluşturmak için aşağıdaki adımları uygulayın:

  1. Komut satırına erişin ve MySQL sunucuya bağlanın:
    mysql
  2. Script, MySQL sunucusuna eriştiğinizi onaylayan aşağıdaki sonucu verecektir.
    mysql>
  3. Aşağıdaki komutu çalıştırın:
    CREATE USER 'yeni_kullanici'@'localhost' IDENTIFIED BY 'sifre';
  1. yeni_kullanici yeni kullanıcı hesabına verdiğimiz isimdir ve IDENTIFIED BY ‘sifre’ kısmı ise bu kullanıcı için bir şifre oluşturacaktır. Bu değerleri tırnak işareti içinde kendi değerlerinizle değiştirebilirsiniz.
  2. Yeni oluşturulan bir kullanıcıya veritabanının bütün ayrıcalıklarını vermek için aşağıdaki komutu çalıştırın:
    GRANT ALL PRIVILEGES ON * . * TO 'yeni_kullanici'@'localhost';
  3. Değişikliklerin hemen devreye girmesi için şu komutu çalıştırın:
    FLUSH PRIVILEGES;

İşte bu kadar! Yeni oluşturduğunuz kullanıcı veritabanınıza root kullanıcısı ile aynı erişime sahiptir.

Bir MySQL Kullanıcısına Belirli Ayrıcalıklar Tanımlamak

Daha önce belirtildiği gibi, root olmayan bir kullanıcıya root seviyesinde erişim hakkı vermek akıllıca değildir. Çoğu zaman, farklı kullanıcı türleri için farklı düzeylerde erişim vermek istersiniz. MySQL, şu ayrıcalıkları veren basit bir komutla bu işlemi çok kolaylaştırır:

GRANT [ayrıcalık/izin türü] ON [veritabanı adı].[tablo adı] TO ‘non-root’@'localhost’;

Veritabanı ve tablo adını belirtmeyi unutmayın ve onları bir . (nokta) ve boşluk olmadan ayırmayı unutmayın. Bu, root kullanıcıya sadece belirli veriler üzerinde kısıtlı kontrol verecektir.

Ayrıca ayrıcalık/izin türü değerini de yeni kullanıcı hesabınıza vermek istediğiniz türden erişimle değiştirmeyi de unutmamalısınız.

İşte MySQL’de en çok kullanılan komutlar yani izin türleri:

  • CREATE – Kullanıcıların veritabanı ve tablo oluşturma izni verir
  • SELECT – Kullanıcıların veriyi okumasına izin verir
  • INSERT – Kullanıcıların tablolara yeni veri eklemesine izin verir
  • UPDATE – Kullanıcıların tablolarda bulunan mevcut verileri güncellemesine izin verir
  • DELETE – Kullanıcıların tablo verilerini silmesine izin verir
  • DROP – Kullanıcıların tüm veritabanını veya tabloları silmesine izin verir

NOT: ALL PRIVILEGES izin türünü kullanmak yukarıdaki bütün izinleri içerecektir.

Bu seçenekleri kullanmak için [ayrıcalık/izin türü]nü ilgili anahtar kelime ile değiştirin. Birden fazla izni uygulamak için izinleri virgül ile ayırabilirsiniz. Örneğin, non-root kullanıcımıza CREATE ve SELECT izinlerini şu komutla sağlayabiliriz:

GRANT CREATE, SELECT ON * . * TO 'non-root'@'localhost';

Elbette izni verdiğiniz bir kullanıcıdan verdiğiniz izni geri almanız gerekebilir. Bu işlemi de aşağıdaki komutla yapabilirsiniz:

REVOKE [izin türü] ON [database name].[table name] FROM ‘non-root’@‘localhost’;

Örneğin root olmayan kullanıcıdan tüm izinleri geri almak için:

REVOKE ALL PRIVILEGES ON *.* FROM 'non-root'@'localhost';

Son olarak ihtiyacınız olduğunda bir kullanıcıyı tamamen silmek için kullanmanız gereken komut da şu şekildedir:

DROP USER ‘kullanici_adi’@‘localhost’;

NOT: Unutmayınız ki bu komutlardan herhangi birini çalıştırmak için root erişimine ihtiyacınız vardır. Ayrıca değişiklik yaptıktan sonra değişikliklerin geçerli olması için FLUSH PRIVILEGES komutunu çalıştırmayı atlamayınız.

Bir MySQL Kullanıcısı için Hesap Ayrıcalıklarını Görüntüleme

Bir MySQL kullanıcısına hangi ayrıcalıkların verildiğini öğrenmek için SHOW GRANTS komutunu kullanabilirsiniz:

SHOW GRANTS FOR 'kullanici_adi'@'localhost';

Sonuç buna benzer olacaktır:

+---------------------------------------------------------------------------+
| Grants for user_name@localhost                                             |
+---------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user_name'@'localhost'                              |
| GRANT ALL PRIVILEGES ON 'database_name'.* TO 'user_name'@'localhost'.      |
| REVOKE ALL PRIVILEGES ON * . * FROM 'user_name'@'localhost';
+---------------------------------------------------------------------------+
3 rows in set (0.00 sec)

MySQL Veritabanı Nedir?

MySQL’i anlamak için veritabanı nedir bilmelisiniz. Veritabanı web sitesi ve web uygulamaları kurmak için gerekli verileri saklayabileceğiniz sanal bir depodur.

MySQL veritabanı, kullanıcı adları, şifreleri, e-posta adresleri gibi kullanıcı bilgilerini ve daha sonra kullanacağınız herhangi bir bilgiyi saklayabilir.

Ancak depolanan veri düzenli olmalıdır. Bu yüzden de veritabanı yönetim sistemleri bulunmaktadır. Bu araçlar veritabanlarıyla iletişime geçmek ve geliştiricilerin verileri yapılandırmalarına, depolamalarına, silmelerine ve düzenlemelerine izin vermek için kullanılır.

MySQL, veritabanı yönetim sistemleri arasında en popülerlerinden biridir. Bunun sebebiyse kullanım kolaylığı ve topluluk desteğidir. Facebook ve Twitter gibi platformlar bile MySQL belirli bir oranda kullanmaktadır.

Sonuç

Bir veritabanı her web sitesi ve web uygulamasının önemli bir kısmıdır çünkü bütün kullanıcı verisini depolar. Onu yönetmek ve onla daha verimli olarak iletişim kurmak için bir veritabanı yönetim sistemine ihtiyacınız olacak. Bu yüzden, güvenilirliği ve kullanım kolaylığından dolayı en popüler ve en çok önerilen seçenek olan MySQL’i öneriyoruz.

Bu rehberde MySQL’de birçok işlemi gerçekleştirmek için temel komutlarını öğrenmiş oldunuz. İşte öğrendikleriniz:

  • MySQL kullanıcı oluşturma ve onlara yetki atama
  • Kullanıcılara belirli yetkileri atama, yetkileri geri alma ve kullanıcıları silme
  • Kullanıcıların sahip olduğu ayrıcalıkları görme

İyi şanslar! Sorularınızı ve yorumlarınızı aşağıdaki yorumlar kısmında bizimle paylaşmayı unutmayın.

Author
Yazar

Egehan D.

Egehan Hostinger'da ML ve NN ile denetimsiz öğrenme üzerinde çalışıyor. Veri analizi hakkında büyük bir tutkuya sahiptir. İşi her ne kadar hobi gibi olsa da, çeşitli aktivitelerde gönüllü olmaktan ve ormanda kamp yapmaktan da büyük oranda zevk alıyor.