"Enter"a basıp içeriğe geçin

MySQL’de Yeni Kullanıcı Nasıl Oluşturulur?

MySQL üzerinde birden fazla kullanıcı çalışıyorsa, her biri için ayrı hesaplar oluşturmak ve uygun yetkiler tanımlamak gerekir. Bu sayede hem erişim kontrolü sağlanır hem de veritabanı güvenliği artırılır.

Yeni Kullanıcı Oluşturma

Yeni bir kullanıcı oluşturmak için önce root hesabıyla MySQL’e giriş yapmalıyız. Root hesabı, sistemde en geniş yetkilere sahip kullanıcıdır.

Bu komutu girdikten sonra sistem sizden root şifresini ister. Şifreyi yazdığınızda MySQL komut satırına erişim sağlanır.

Aşağıdaki komutu kullanarak yeni bir kullanıcı ekleyebiliriz.

  • kullanici_adi oluşturmak istediğimiz kullanıcı adını belirtir.
  • localhost, bu kullanıcının yalnızca yerel bağlantı üzerinden erişim sağlayabileceğini gösterir.
  • guclu_sifre ise kullanıcı için belirleyeceğimiz güçlü paroladır.

Eğer kullanıcıya uzak bağlantı izni vermek istiyorsak şu komutu kullanalım.

MySQL üzerinde kullanıcı oluşturma ve yetkilendirme işlemleri, MariaDB’de de benzer şekilde çalışır. Ancak iki sistem arasında bazı komut farkları bulunur.
İlgili yazımıza göz atabilirisiniz. MySQL ve MariaDB Farkları

Mysql Kullanıcısına Yetki Vermek

Yeni kullanıcı oluşturulduktan sonra bu kullanıcıya hangi veritabanına erişeceğini ve hangi işlemleri yapabileceğini belirtmek gerekir.

Örneğin belirli bir veritabanına tam erişim yetkisi vermek için.

Sadece okuma (SELECT) yetkisi vermek istiyorsak.

Yetkilendirme işlemlerinin etkin olması için şu komut mutlaka çalıştırılmalıdır.

AyrıcalıkEylem
ALL PRIVILEGESKullanıcıya veritabanı üzerinde tam erişim yetkisi verir.
INSERTTablolara yeni satırlar ekleyelim.
DELETETablolardaki satırları silelim.
CREATEYeni tablolar veya veritabanları oluşturalım.
DROPTabloları ya da veritabanlarını tamamen kaldıralım.
SELECTTablolardaki verileri görüntüleyelim.
UPDATETablolarda yer alan satırları güncelleyelim.
GRANT OPTIONKullanıcıya diğer kullanıcılara da yetki verme izni tanımlayalım (genellikle root hesabı için ayrılır).

Kullanıcı Yetkilerini Görüntüleme

Bir kullanıcıya tanımlı yetkileri görmek için aşağıdaki komutu çalıştıralım.

Bu komut, belirtilen kullanıcının sahip olduğu tüm izinleri detaylı şekilde listeler. Böylece hangi veritabanlarına erişimi olduğunu, hangi işlemleri yapabileceğini net bir biçimde görebiliriz.

Yetkileri Geri Alma veya Kullanıcıyı Silme

Eğer bir kullanıcının belirli bir veritabanı üzerindeki yetkilerini kaldırmak istiyorsak şu komutu kullanalım.

Bu komut, ilgili kullanıcının belirtilen veritabanı üzerindeki tüm izinlerini iptal eder. Kullanıcı hesabı sistemde kalır ancak artık o veritabanına erişemez.

Kullanıcıyı tamamen silmek istiyorsak şu komutu çalıştıralım.

Bu işlem, kullanıcının MySQL sisteminden tamamen kaldırılmasını sağlar. Silme işlemi sonrası bu kullanıcıyla bağlantı kurulamaz ve tanımlı tüm yetkiler otomatik olarak silinir.

Eğer veritabanınızı farklı bir sistemden MySQL’e taşıdıysanız, kullanıcı izinlerinin yeniden yapılandırılması kritik öneme sahiptir.
——-> SQLite’ten MySQL’e Taşıma

Sıkça Sorulan Sorular

MySQL kullanıcı yetkilerini nasıl sıfırlayabilirim?

Yetkileri sıfırlamak için aşağıdaki komutu kullanabilirsiniz.

Bu komut, kullanıcının tüm erişim izinlerini kaldırır ve MySQL’de yeniden tanımlama yapmanızı sağlar.

Yeni kullanıcı uzak bağlantı yapamıyor, neden?

MySQL yapılandırma dosyasında bind-address parametresi muhtemelen 127.0.0.1 olarak ayarlıdır. Bu değeri 0.0.0.0 olarak değiştirip MySQL servisini yeniden başlatarak tüm IP adreslerinden bağlantıya izin verebilirsiniz.

Bir kullanıcıyı hem yerel hem uzaktan erişim için tanımlayabilir miyim?

Bunun için aynı kullanıcı adıyla iki farklı hesap oluşturabilirsiniz:
biri localhost, diğeri % üzerinden tanımlanmalıdır. Böylece kullanıcı hem yerelden hem de uzaktan bağlanabilir.

FLUSH PRIVILEGES komutunu neden çalıştırmam gerekiyor?

Bu komut, yapılan yetki değişikliklerinin MySQL tarafından hemen uygulanmasını sağlar.
Aksi halde değişiklikler, MySQL servisi yeniden başlatılana kadar geçerli olmayabilir.

Kullanıcı oluştururken hata alıyorum, ne yapmalıyım?

Access denied hatası genellikle root yetkisi olmadan işlem yapmaya çalışıldığında görülür.
Root hesabı ile oturum açtığınızdan ve CREATE USER izninizin tanımlı olduğundan emin olunmalı.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir