Hangi MySQL kullanıcıları gereklidir?


13

MySQL sunucumda eklemediğim garip kullanıcılar var. Bunların hepsi gerekli mi?

'root'@'127.0.0.1'
'root'@'localhost'
'root'@'SERVERNAME'
'root'@'::1'
''@'SERVERNAME'
''@'LOCALHOST'

Root @ localhost dışındaki tüm kökleri kaldırırsam, kendimi veritabanından kilitleyebilir miyim? Boş kullanıcı adlarının amacı nedir? Onlar sadece 'HİBE KULLANIM' var gibi görünüyor ??

Ana bilgisayar ve localhost olarak 127.0.0.1 arasında bir fark var mı? 127.0.0.1 değil de yalnızca localhost'um varsa, bu Unix yuvaları yerine TCP / IP kullanan mysqlclient'lerin bağlanamayacağı anlamına mı geliyor?

Yanıtlar:


16
  1. Bu kullanıcılar , MySQL kurulduğunda eklenen varsayılan kullanıcılar gibi görünüyor . MySQL kurduktan sonra mysql_secure_installation komutunu çalıştırmanız önerilir .

  2. Boş kullanıcı adları ('' @ 'SERVERNAME') anonim kullanıcıları temsil eder. mysql_secure_installationParolayı çalıştırmadıysanız veya ayarlamadıysanız, herkes erişebilir. Anonim kullanıcının GRANT USAGEayrıcalıkları varsa, temel olarak hiçbir ayrıcalığı olmadığı anlamına gelir, ancak anonim girişi tamamen kaldırmak iyi bir fikirdir.

  3. Hayır, localhost ile 127.0.0.1 arasında büyük bir fark yok. Kullanıcının giriş yapmaya çalıştığı IP adresi, kullanıcı @[IP Address]adının bir bölümü ile eşleşmelidir . Aynı makineden daki günlüğü MySQL sunucu üzerinde ise, o @localhostve @127.0.0.1eşleşir. IVlint67'nin belirttiği gibi, bazı kurulumlarda @localhostişe yaramayacaktı, bu yüzden gitmek daha iyi @127.0.0.1.


13

Genellikle mysql_secure_installation betiğiyle yüklerim MySQL şimdi birlikte geliyor


root@127.0.0.1 @ IP adresidir. root @ localhost @ ana bilgisayar adıdır. Sunucu adı için Ditto. Ve son kök localhost için @ IPv6 adresidir.


MySQL sitesinden:

127.0.0.1 ana bilgisayarına bağlanma denemesi normalde localhost hesabına çözümlenir. Ancak, sunucu --skip-name-resol seçeneğiyle çalıştırılırsa başarısız olur, bu nedenle 127.0.0.1 hesabı bu durumda kullanışlıdır.

Boş kullanıcı adları:

Bazı hesaplar anonim kullanıcılar içindir. Bunların kullanıcı adı boş. Anonim hesapların şifresi yoktur, bu nedenle herkes bunları MySQL sunucusuna bağlanmak için kullanabilir

http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html


Ve sonunda:

Root @ localhost dışındaki tüm kökleri kaldırırsam, kendimi veritabanından kilitleyebilir miyim?

Evet, ama içeri girebilirsin

Bkz. --Skip-grant-tables: https://help.ubuntu.com/community/MysqlPasswordReset

Yapmalımıyım?

Umurumda değil, bu senin sunucun. Benim olsaydı, root hesaplarını şifrelerde olduğu gibi koruyacak ve gerekmedikçe anonim hesapları silecektim.

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.