Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

MySQL Veritabanına Ağdaki Bilgisayarların Bağlanması

merhaba. kendi bilgisayarımdaki, localhostdaki veritabanına ağdaki diğer bilgisayarlarında bağlanmasını istiyorum. kullandığım connection cümleciği bu ;
Dim connection As New MySqlConnection("Host=localhost;Database=feirra_db;userid=root;password=admin;charset=utf8;")

orada localhost yerine kendi bilgisayarımın ip sini yazıyorum bu hatayı veriyor
Access denied for user 'root'@'IsmayL-PC' (using password: YES)
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • huseyn adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    42 cevap - 0 soru
    my.cnf içinde bind-adress'e kendi bilgisayarınızın ip'sini yazmalısınız. birde güvenlik duvarında TCP 3306 numaralı porrtan gelen bağlantılara izin vermeniz lazım
    • ismailbal20 adlı üyenin fotoğrafı ismailbal20
      bind-adress 0.0.0.0 ---
      bu durumda bunun tüm ip leri zaten alıyor olması gerekmiyor mu ?
      9 yıl önce yazılmış
  • 1
    necmettin adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    80 cevap - 0 soru
    Bunun olmamasının sebebi, MySQL'in de bir izin sisteminin olmasıdır. Öntanımlı ve daha güvenli kabul edilen davranış kullanıcıların sadece localhost'tan bağlanmasıdır. MySQL ilk kurulduğunda şöyle bir cümlenin çalıştırıldığını kabul edelim:
    GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'parola';
    Bu şu demek: root MySQL kullanıcısı sadece localhost'tan bağlanabilir. Diyelim 'vt' adında bir veritabanın var, sen 'necmettin' adında bir kullanıcı oluşturup ona 'vt' üzerinde her türlü işlem yapma yetkisi vermek istiyorsun. MySQL root kullanıcısı olarak bağlanıp,
    GRANT ALL ON vt.* TO 'necmettin'@'localhost' IDENTIFIED BY 'parola';
    dediğinde necmettin kullanıcısına localhost'tan bağlanma izni vermiş oluyorsun. Diyelim necmettin kullanıcısının veritabanı sunucusunun kurulu olduğu makina dışından da erişebilmesini istiyorsun:
    GRANT ALL ON vt.* TO 'necmettin'@'%' IDENTIFIED BY 'parola';
    komutu necmettin kullanıcısına vt veritabanına heryerden erişim yetkisi verir. Cihazda 3306 (öntanımlı MySQL) portunu da dışarıdan gelen isteklere açarsan bunu sağlamış olursun.
    MySQL veritabanı sunucusu ve veritabanlarına uygulanacak bakım işlemleri dışında MySQL veritabanı sunucusuna root olarak bağlanmak tavsiye edilmez, hele localhost dışında bir yerden root olarak bağlanabilecek şekilde ayar yapmak ciddi sakıncalar doğurur.
    • ismailbal20 adlı üyenin fotoğrafı ismailbal20
      ben elimle yeni bir kullanıcı oluşturup tüm yetkilerini verdim. yine olmadı :S
      9 yıl önce yazılmış
    • necmettin adlı üyenin fotoğrafı necmettin
      'kullanıcı'@'%' yaptın ve güvenlik duvarında 3306 portunu gelen paketlere açtın mı?
      9 yıl önce yazılmış
  • tapsin adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    145 cevap - 0 soru
    Sadece yapman gereken şey şu Mysql root olarak bağlan içinde mysql tablosu var içinde userların olduğu tabloda bağlanabilecekleri adres kısmı mevcut orada local yazar oraya % işareti koyman yeterlidir.