MySQL: birden fazla ana bilgisayardan bağlanabilen bir kullanıcı oluşturma


30

MySQL kullanıyorum ve yerel sunucudan veya başka bir sunucudan bağlanabilecek bir hesap oluşturmam gerekiyor, yani 10.1.1.1. Bu yüzden yapıyorum:

CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password123';
CREATE USER 'bob'@'10.1.1.1' IDENTIFIED BY 'password123';
GRANT SELECT, INSERT, UPDATE, DELETE on MyDatabse.* to 'bob'@'localhost', 'bob'@'10.1.1.1';

Bu iyi çalışıyor, ancak birden çok IP'ye bağlı bir kullanıcı hesabı oluşturmanın daha zarif bir yolu var mı, yoksa bu şekilde mi yapılması gerekiyor?

Asıl endişem, gelecekte, bir 'bob' hesabı için izinlerin güncelleneceği, diğeri için güncellenmeyeceğidir.

Yanıtlar:


20

Sunucuyu kısıtlamak istiyorsanız ve bir alt ağa veya joker karaktere dayalı olarak belirtmek istemiyorsanız %, bunu yapmanın tek yolu budur. Daha fazla ayrıntı MySQL belgelerinde bulunabilir .

Hala büyük MySQL kurulumlarında kimlik doğrulamayı yönetirken ek yükü ortadan kaldırmak için yollar bulmaya çalışıyorum ve henüz mükemmel bir çözüm bulamıyorum.


8

MySQL kabuğuna "chaminda" adlı yeni bir kullanıcı yaparak başlayalım:

CREATE USER 'chaminda'@'%' IDENTIFIED BY 'password';

Yapılacak ilk şey, kullanıcıya gerekli izinleri vermektir ve burada belirli bir kullanıcıya tüm izinleri verdim.

GRANT ALL PRIVILEGES ON * . * TO 'chaminda'@'%';

Tüm ayrıcalıkları yeniden yükleyin.

FLUSH PRIVILEGES;

Belirli bir kullanıcı için IP aralığına izin vermek istiyorsanız, aşağıdaki gibi kullanın 10.1.1.

GRANT ALL PRIVILEGES ON * . * TO 'chaminda'@'10.1.1.%';

Not: Burada ana bilgisayar Adı =% ve bu veritabanı sunucusuna herhangi bir ana bilgisayardan erişebileceğiniz anlamına gelir. Tüm ayrıcalıkları kullanıcıya vermek büyük bir risktir ve bu en iyi uygulama değildir. Ayrıca 'chaminda' kullanıcısını 'bob' yerine değiştirebilirsiniz.


5
Bu soruya cevap vermiyor. Tüm IP'lerden bir kullanıcıya erişim izni verir, ancak OP, bir kullanıcının bir IP listesinden veritabanına erişmesine izin vermek için daha şık bir yol istiyor. Temel olarak, birden fazla IP’den birden çok kez kullanıcı eklemek için birden fazla ifade yerine fikir, veritabanına birden fazla IP’den erişebilecek tek bir kullanıcı eklemek ve bu da yönetimi daha kolay ve daha az hataya açık hale getirmektir.
Anthony

Ayrıca 100-199 ile eşleşmesi için _ gibi 10.1.1.1__ gibi bir joker karakter olarak kullanabilirsiniz, ancak 200 için ayrı bir hesap oluşturmanız veya% joker karakteri kullanmanız ve 0-99 ve 201-255 kodunu eklemeniz gerekir
Chaminda Bandara

-3

MySQL, bir satırda birden fazla joker karaktere izin verir. Olası bir çözüm kullanıcı için ayarlanan Host olduğunu Bobolmayı

locahost/10.1.1.1

Referans:

http://dev.mysql.com/doc/refman/5.1/en/connection-access.html


Belgelerin söylediği bu değil. Tabloda listelendiği gibi /255.255.255.0 bir ağ maskesidir. Ana bilgisayar tanımında birden çok joker karakteri listelemenin bir yolu varsa, bunu yapmanın yolu bu değildir.
majikman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.