Mysql normal kurulumla sadece localhost tan gelen bağlantıları kabul ediyor.Uzak bir sunucudan bağlantı kurmak istediğimizde başarısız oluyoruz.Bu durumun nedeni mysql sunucunuzun dışarıdan gelen bağlantıları kabul etmiyor olması. Mysql servisini dışarıdan bağlantı kabul edecek şekilde çalıştırmak için mysql ayar dosyasında bir kaç değişiklik yapmamız gerekiyor. Bu değişikliği aşağıdaki adımları izleyerek yapabiliriz.
SSH bağlantısı ile sunucumuza eriştikten sonra (localde çalışıyorsanız direk konsolu kullanarak)
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfkomutunu verdiğimizde konsol üzerinden mysql yapılandırma dosyasını düzenlemek için açmış oluyoruz. Bu dosya içerisinde “bind-address = 127.0.0.1” satırını kaldırmamız gerekiyor. Bunun için Ctrl + w tuşlarına basarak arama yapabilirsiniz. Bu satırı bulduktan sonra başına “#” işareti ekleyerek bu ayarı etkisiz hale getirmiş olursunuz.
sonrasında
mysql -u root -p
komutunu vererek mysql bağlantısı kuruyoruz ve aşağıdaki sorguları çalıştırıyoruz
CREATE USER 'kullaniciadi'@'%' IDENTIFIED BY 'sifre'; GRANT ALL PRIVILEGES ON veritabanıadı.* TO 'kullaniciadi'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
Burada kullanıcı adı ve şifre bilgilerini kendimize göre düzenliyoruz.Sonra ctrl+c ile konsola dönebiliriz. Son olarak mysql servisini yeniden başlatmak için
sudo service mysql restart
komutunu veriyoruz artık belirttiğimiz kullanıcı mysql sunucumuza dışarıdan erişebilir. Bu işlemlerden sonra yeni bir kullanıcı eklerken makine olarak “%” değerini belirtirseniz yeni oluşturduğunuz kullanıcıda uzaktan erişime açık olacaktır.
192.168.1.2 adresini kullansam olur mu? Yoksa public mi kullanmam lazım? kendi bilgisayarımda bağlanabiliyorum ancak başka pcler bağlanamıyor
Eğer aynı ağ üzerinde çalışan bilgisayarlar ise 192.168.*.* şeklindeki adresleri kullanabilirsiniz. Farklı ağda ile public bir ip olması gerekir
Aynı ağ üzerinde 192 168 i kullanabiliyorsak tamamdır, ben de soracaktım bunu yorumlarda gördüm iyi oldu.