MySQL yönetimi: bir kullanıcı nasıl oluşturulur ve hakları nasıl tanımlanır

İçindekiler:

MySQL yönetimi: bir kullanıcı nasıl oluşturulur ve hakları nasıl tanımlanır
MySQL yönetimi: bir kullanıcı nasıl oluşturulur ve hakları nasıl tanımlanır
Anonim

MySQL'in karakteristik bir özelliği, harici korumaya dayanan kendi güvenliğidir. Modern, tam özellikli ve verimli bir veritabanı yönetim sistemi olan MySQL, kullanıcıları ve kontrol ettiği kaynaklara erişimlerini yönetmek için kendi araçlarına sahiptir.

mysql kullanıcı oluştur
mysql kullanıcı oluştur

Doğru kullanıcı adı ve şifreyi bilmiyorsanız, MySQL üzerinden veritabanına erişmek çok zordur.

Normal barındırma modunda bu yeterlidir. Öngörülemeyen durumlar, hacker saldırıları ve diğer sıkıntılar, harici sistem yönetimi ve güvenlik hizmetleri meselesidir. Bu kavram geleneksel hale geldi ve pratikte tartışılmıyor.

MySQL sunucusunu ve kullanıcı kökünü kurun

Veritabanı yönetim sistemi hangi işletim ortamında kurulu olursa olsun, her zaman en az bir kullanıcıya sahiptir: root. MySQL'i kurun, tüm kök haklarına sahip bir kullanıcı oluşturun - bu olmadan, birlikte çalışınsunucu mümkün değil. Bu kullanıcının ayrıcalıkları şunlar için yeterlidir:

  • yeni kullanıcılar oluştur ve yönet;
  • veritabanları oluşturun ve yönetin.
mysql bir kullanıcı oluştur ve veritabanına haklar ver
mysql bir kullanıcı oluştur ve veritabanına haklar ver

MySQL'de "şifresiz" kullanıcıların bulunması temelde mümkündür, ancak bu kabul edilemez.

Yaygın uygulama:

  • sunucu kendi bilgisayarına kurulur, burada barındırma kurulabilir (yerel seçenek);
  • sunucu İnternette herkese açık barındırmada.

İlk durumda, sunucu ile komut satırından çalışmak ve phpMyAdmin'i kullanmak mümkündür, ikinci durumda sadece phpMyAdmin veya benzeri bir araç kullanılabilir, ancak komut satırına uzaktan SSH erişimi ile erişilebilir.

Kendi yönetim araçları

Unixoid ailesiyle ve Apache sunucularının geçmişiyle akrabalık duygusu MySQL'in ayırt edici özelliğidir: kullanıcı oluştur, garip sözdizimine sahip bir komut satırıdır. Linux ve benzeri sistemlerle çalışan profesyoneller için bu, “gerçek hayata hiç girmemiş” Windows kullanıcılarının gözünde vahşi göründüğü kadar tanıdık geliyor.

Kullanıcı oluşturmak, sunucu komut satırının başlatılmasıyla başlar. Windows ortamında bu şu şekilde yapılır.

mysql tüm haklara sahip kullanıcı oluştur
mysql tüm haklara sahip kullanıcı oluştur

Önce (1) komut satırını yönetici olarak çalıştırmanız, ardından MySQL'in bulunduğu klasöre gitmeniz gerekir (2), ardındansunucunun kendisini başlatın (3):

mysql -u… -p

burada "-u…" ve "-p", "…"=root (veya başka bir ad) adına ve parolasına işaret eden anahtarlardır. Prensipte, bir kullanıcı kök olmayabilir, ancak "kök" (yönetimsel) haklara sahip bir kullanıcı olabilir.

Önemli: sunucu aslında her zaman çalışır, burada mysql -u… -p sunucuya erişme komutudur, onu başlatma değil.

Linux ortamında ve benzer sistemlerde, böyle bir komut "yerel" bir eylemdir ve kural olarak mysqld'i doğru yerde (doğru yolda) başlatarak belirlenir, bu kontrol edilmelidir. yönetici. Burada genellikle farklı bir isim vardır: mysql değil, mysqld. Ayrıca burada, bu eylem her zaman tüm kullanıcılar için mevcut değildir (MySQL sunucusunun değil, işletim sisteminin). Windows'un aksine, Linuxoid'lerde düzen ve güvenlik, her zaman medeni bir şekilde ele alınan doğal ve pazarlık konusu olmayan bir gerekliliktir.

Her halükarda, mysql başladığında, bunu bir komut istemiyle duyurur (4):

mysql>

ve hem kullanıcılar hem de veritabanları ile çalışmak mümkün olacak.

Not. Windows ortamında kurulum yaparken, her şey: Apache, MySQL, PHP, phpMyAdmin varsayılan yollara ayarlanabilir, ancak şu önemli araçlar için daha kompakt ve daha yakın konumların kullanılması önerilir:

  • c:\SCiA\Apache;
  • c:\SCiA\PHP;
  • c:\SCiA\MySQL;
  • c:\SCiB\localhost\www\phpMyAdmin;
  • c:\SCiB\site1\www;
  • c:\SCiB\site2\www;
  • c:\SCiB\siteN\www\.

Bu mantık yalnızca yönetimi basitleştirmekle kalmayacak, aynı zamanda geliştiricinin ürün sürümleri arasında geçiş yapma ve işlevlerini yönetme yeteneğini de genişletecektir.

MySQL komut satırında çalışma

Sunucu yanıt verdiğinde ve komut satırını sağladığında, kullanıcılar oluşturulabilir ve izinler atanabilir.

mysql herhangi bir ana bilgisayar için kullanıcı oluştur
mysql herhangi bir ana bilgisayar için kullanıcı oluştur

Bu örnekte, kullanıcı oluştur komutu Petrov kullanıcısını 123DFG parolasıyla oluşturdu. Bir komut girerken bir hata yapılırsa, sunucu bunu düzeltmeyi teklif eder, ancak komut satırında çalışırken asla hata yapmamak daha iyidir!

Aşağıdaki komut tüm ayrıcalıkları verir, her şeye tüm hakları verir. Flush komutu atlanabilir, ancak komutların arabelleğini "açar", yani bunların yürütülmesini düzeltir.

MySQL: bir kullanıcı oluşturun ve veritabanına haklar verin

Örnekte kullanılan komut:

'Petrov'@'localhost' İÇİN. ÜZERİNDEKİ TÜM AYRICALIKLARI VERİN;

aslında Petrov kullanıcısına tüm veritabanlarına (ilk yıldız işareti) tüm tablolara (ikinci yıldız işareti) erişim izni verir.

mysql tüm haklara sahip kullanıcı oluştur
mysql tüm haklara sahip kullanıcı oluştur

Genel bir MySQL kuralı olarak, bir kullanıcı oluşturmak:

GRANT [ayrıcalık türü] ON [veritabanı adı].[tablo adı] TO '[kullanıcı]'@'localhost';

Aşağıdaki ayrıcalıklara izin verilir:

  • TÜM AYRICALIKLAR - tüm haklar.
  • CREATE - yeni tablolar/veritabanları oluşturma hakkı.
  • DROP - tabloları/veritabanlarını bırakma hakkı.
  • DELETE - tablolardaki bilgileri silme hakkı.
  • INSERT - tablolara bilgi yazma hakkı.
  • SEÇ - tablolardan bilgi okuma hakkı.
  • GÜNCELLEME - tablolardaki bilgileri güncelleme hakkı.
  • GRANT OPTION - diğer kullanıcıların ayrıcalıklarıyla çalışma hakkı.

Pratik bir bakış açısından, MySQL'de "bir kullanıcı oluştur", haklar için üç seçenek anlamına gelir:

  • tüm veritabanlarının ve tüm kullanıcıların tüm hakları;
  • oku ve yaz;
  • s alt okunur.

Hak vermek için diğer seçeneklere nadiren ihtiyaç duyulur. Linux ortamında, "yasal" özgürlük (ve gereklilik) için çok daha fazla neden vardır, ancak orada Windows'takinden çok daha fazla fırsat vardır.

MySQL "kullanıcı oluştur" işleminin tersi işlemi drop'tur.

bırak kullanıcı 'Petrov'@'localhost';

Bu komutu yürüttükten sonra Petrov artık bir kullanıcı olmayacak ve ayrıcalıkları kaybolacak. Ayrıcalıkları değiştirmek için şu komutu kullanın:

REVOKE [ayrıcalık] ON [DB].[Tablo] '[user]'@'localhost';

MySQL'deki olağan eylem, bir kullanıcı oluşturmak veya onu silmektir, ancak ayrıcalıkları değiştirmek de geçerli bir işlemdir (nadiren istenir).

phpMyAdmin'i kullanma

Bu harika aracın birçok uygulaması var. Kullanılan Apache, PHP ve MySQL sürümüne bağlı olarak, bu ürünün doğru sürümünü bulmak genellikle uzun zaman alır, ancak phpMyAdmin başarıyla kurulduktan sonra, kullanıcı birçok kullanışlı özelliğe ve rahat bir kullanıma sahip olur.arayüz.

mysql herhangi bir ana bilgisayar için kullanıcı oluştur
mysql herhangi bir ana bilgisayar için kullanıcı oluştur

phpMyAdmin'i kullanarak MySQL'e herhangi bir ana bilgisayar için bir kullanıcı oluşturmasını ve mevcut kullanıcıları neredeyse cerrahi yöntemlerle yönetmesini söyleyebilirsiniz.

phpMyAdmin rahat, sezgisel ve zengin özelliklere sahip tek araç değildir, ancak MySQL sunucularını yönetmek için en popüler araçtır.

Komut satırı ve güvenlik hakkında

Elbette, MySQL komut satırını kullanmak çekici olmayan bir alıştırmadır, ancak bazı durumlarda yalnızca sunucu komut satırının veritabanını veya kullanıcıyı kaydedebileceği ve bilgilerin içe veya dışa aktarılmasını sağlayabileceği akılda tutulmalıdır.

mysql herhangi bir ana bilgisayar için kullanıcı oluştur
mysql herhangi bir ana bilgisayar için kullanıcı oluştur

Yazılım sürümleri o kadar hızlı gelişiyor ki, geliştiricilerin örneğin PHP ve MySQL, MySQL ve phpMyAdmin'in özelliklerini birleştirmek için zamanları yok. Bir şey olursa, komut satırı her zaman günü kurtarır.

Ayrıca şunu da asla unutmamak gerekir: MySQL yönetimi, yalnızca veritabanlarına ve işlevselliğine erişmekle ilgilidir. Veritabanı dosyaları MySQL dışından erişime açıktır. MySQL'in ve kontrol ettiği kaynakların harici olarak güvenliğini sağlamak gerçek ve önemli bir ihtiyaçtır.

Önerilen: