MySQL veritabanı ile çalışıyorsanız, veritabanınızı güvende tutarken karşılaştığınız zorlukların zaten farkındasınızdır. SQL enjeksiyonlarını kullanarak kaba kuvvet saldırılarına kadar veritabanı korsanlığı girişimlerinden, özellikle bir veritabanıyla uzaktan çalışıyorsanız verilerinizi güvende tutmak zordur.
Bir SQL sunucusunu uzak bağlantılara izin verecek şekilde yapılandırmanın yolları vardır. , ancak MySQL sunucusunda uzak bağlantılara izin vermek veritabanınızı bilgisayar korsanları için kolay bir hedef haline getirebileceğinden dikkatli olmanız gerekir. Bir MySQL veritabanına güvenli, uzak bağlantılara izin vermek istiyorsanız, bilmeniz gerekenler şunlardır.
Senden Önce Başlayın
MySQL veritabanınızda herhangi bir değişiklik yapmadan önce, özellikle bir üretim sunucusunda (bir sunucu) çalışıyorsanız veritabanınızı yedeklemenizönemlidir. aktif kullanımda). Veritabanınızda veya onu barındıran sunucuda yaptığınız herhangi bir değişiklik, bir şeyler ters giderse ciddi veri kaybına neden olabilir.
Ayrıca, sunucunuzun bağlantılarında yapılan değişikliklerin daha sonra ona erişmenizi engelleyebileceğini de görebilirsiniz. Böyle bir durumda, daha fazla destek için bir sunucu yöneticisine danışmanız gerekebilir. Değişikliklerinizin uzaktan denemeden önce çalışıp çalışmadığını kontrol etmek için yerel olarak çalıştırılan bir MySQL sunucusunda herhangi bir değişikliği denemek iyi bir fikirdir.
Ayrıca, uzak bir sunucuda değişiklik yapıyorsanız,' Bağlanmak ve değişiklik yapmak için güvenli bir yola ihtiyacınız olacak. SSH (Güvenli Kabuk), uzak sunucunuza bağlanmanıza izin verdiği için genellikle bunu yapmanın en iyi yoludur. SSH'yi yerel ağınızdaki Raspberry Pi'de barındırılan gibi sunuculara bağlanmak için de kullanabilirsiniz.
Bu kılavuz, aşağıdaki adımlarda size yol gösterecektir. MySQL'i uzak bağlantılara izin verecek şekilde yapılandırmak, ancak önce MySQL sunucunuzu barındıran sunucuya doğrudan veya uzaktan erişiminiz olduğundan emin olmanız gerekir.
Sunucunuza SSH üzerinden uzaktan erişiminiz olmadığını varsayalım (örneğin). Bu durumda, kök mySQL hesabınız zaten uzak bağlantılara izin vermiyorsa, MySQL veritabanınızı doğrudan uzak bağlantılara izin verecek şekilde yapılandıramazsınız. Bu nedenle, devam etmeden önce bu bağlantıyı kurmanız gerekecek.
MySQL Yapılandırma Dosyanızı Düzenleme
MySQL'i uzaktan erişime izin verecek şekilde yapılandırmanın ilk adımı bağlantıları MySQL yapılandırma dosyanızı düzenlemektir. Bu aşamada, bu kılavuz, mySQL veritabanınızı barındıran sunucuya, PC'ye veya Mac'e zaten bağlı olduğunuzu ve konsol erişimine sahip olduğunuzu varsayacaktır.
Alternatif olarak, Mac veya Linux'ta açık bir terminal veya Windows'ta bir metin düzenleyici kullanarak yerel bir MySQL sunucusu yapılandırabilirsiniz.
Yukarıda belirtilen konumlar varsayılan konumlardır. MySQL yapılandırma dosyaları için. Bu komutlar işe yaramazsa, ilgili dosyaları (my.cnf, mysqld.cnfveya my.ini) aramanız gerekir. güçlü>) elle ilgili dosya yolunu bulmak için.
Güvenli Bir Bağlantı Adresi IP Aralığı Ayarlama
- Ardından, Linux ve Mac kullanıcıları MySQL'i mysql.server stop && mysql.server startveya mysql.server restartyazarak yeniden başlatabilirler. sudo kullanarak komutunu yükseltmeniz (örn. sudo mysql.server restart) ve mysql.server dosyasına uygun yolu kullanmanız gerekebilir (örn. /usr /local/bin/mysql.server).
Windows'ta doğru hizmet adından emin değilseniz, onu bulmak için net startyazın.Yapılandırmanızı yeniden yükleyemiyorsanız, sunucunuzu yeniden başlatın ve bunun yerine MySQL'i (gerekirse) manuel olarak yeniden yükleyin.
Güvenlik Duvarlarınızı Yapılandırma
Bu aşamada, MySQL veritabanınız, MySQL yapılandırma dosyanızda bind-addressdeğeri olarak belirlediğiniz IP adresini kullanan cihazlardan (veya bu değeri 0.0.0.0 olarak ayarlarsanız tüm cihazlardan) uzak bağlantılara izin vermelidir.yerine). Ancak, bağlantılar cihazınız veya ağ güvenlik duvarınıztarafından engellenmeye devam edecektir.
Çoğu sunucu ve bilgisayar, belirli bir bağlantı noktasına erişim izni verilmediği sürece bağlantıları engellemek için bir güvenlik duvarı kullanır. Bunu yapılandırma adımları, MySQL'i Windows'ta mı yoksa Linux'ta mı çalıştırdığınıza bağlı olarak değişecektir. Mac güvenlik duvarları varsayılan olarak devre dışıdır, bu nedenle burada herhangi bir ek adımı tamamlamanız gerekmez.
Linux Güvenlik Duvarlarını Yapılandır
Birçok Linux sunucusu iptables'ı varsayılan güvenlik duvarı yardımcı programı olarak kullanın. Aşağıdaki adımları izleyerek yapılandırabilirsiniz.
Eğer iptables Linux dağıtımınız için varsayılan güvenlik duvarı aracı değilse, daha fazla bilgi için dağıtımınızın kullanım kılavuzuna bakmanız gerekir. Belirli paketler (örneğin, netfilter-persistent) kullanılamıyorsa, yüklemek için dağıtımınızın yazılım havuzu aracını kullanın (ör. sudo apt install netfilter-persistent).
Windows Güvenlik Duvarlarını Yapılandırma
Veritabanınızı barındırmak için bir Windows PC veya sunucu kullanıyorsanız, aşağıdaki adımları kullanarak güvenlik duvarınızı yapılandırabilirsiniz:
Bağlanmada sorun yaşıyorsanız yukarıdaki adımları tekrarlayın. , aynı ayrıntıları (bağlantı noktası 3306, vb.) kullanarak güvenlik duvarı ayarlarınızda yeni bir giden kuralıoluşturduğunuzdan emin olun. Veritabanınıza gelen ve giden bağlantılara izin vermek için yerel ağ yönlendiricinizi gerekli engellenen bağlantı noktalarını açın olarak yapılandırmanız da gerekebilir.
MySQL Kullanarak Uzak Bir Sunucuya Bağlanma
MySQL veritabanınızı uzak bağlantılara izin verecek şekilde yapılandırdıktan sonra, onunla gerçekten bir bağlantı kurmanız gerekir. Bunu, bir terminalden veya PowerShell penceresinden mysqlkomutunu (Windows'ta mysql.exe) kullanarak yapabilirsiniz.
Windows kullanıyorsanız, Başlamadan önce MySQL yerel olarak kurulur olduğundan emin olmanız gerekecek. Mac kullanıcıları MySQL ev yapımı bira kullanmak 'i terminalden yükleyebilir (brew install mysql), Linux kullanıcıları ise yerel uygulama havuzlarını kullanabilir (örn. sudo apt install mysqlgüçlü>) gerekli paketleri kurmak için.
Linux veya Mac'te MySQL'e bağlanma
Windows'ta MySQL'e bağlanılıyor
Bu işe yaramazsa, bu adımları ve -h localhostargümanını kullanarak SSH kullanarak (veya doğrudan erişerek) MySQL sunucunuzu barındıran sunucuya veya PC'ye bağlanın. Ardından aşağıdaki adımları izleyerek uygun bir kullanıcı hesabı oluşturabilirsiniz.
Bir MySQL Veritabanına Uzaktan Kullanıcı Erişimine İzin Verme
Bu noktada, sunucunuzun kök kullanıcı hesabını veya yükseltilmiş ayrıcalıklara sahip başka bir kullanıcı hesabını kullanarak MySQL sunucunuza uzaktan bağlanabilirsiniz. Bu erişim düzeyi güvenli olmadığından, MySQL veritabanınıza erişmek için daha kısıtlı bir hesap oluşturmayı tercih edebilirsiniz.
Bu hesabın MySQL sunucunuza sınırlı erişimi olacak ve yalnızca seçili veritabanlarıyla etkileşime girmesine izin verecek. Diğer veritabanı verilerine erişme, yeni kullanıcı hesapları oluşturma vb. gibi daha ciddi değişiklikler yapamaz.
MySQL sunucunuzda uzaktan oturum açabilmeniz gerekir. Kök hesabınızı uzaktan kullanamıyorsanız, uzak bir SSH bağlantısı üzerinden mysqlkomutunu kullanarak veya sunucuyu barındıran bilgisayara veya sunucuya doğrudan erişerek sunucunuzun kabuğuna erişmeniz gerekir.
Erişim verildiğinde, yeni hesabınızı kullanarak sunucunuza uzaktan bağlanmak için yukarıdaki bölümdeki adımları kullanın (örn. mysql -u kullanıcı adı -h XXXX:XXXX -p).
Veritabanı Verilerinizin Güvenliğini Sağlama
İster MySQL veya başka bir SQL türü ile çalışıyor olun veri güvenliğinizi korumak için bağlantılarınızı güvende tutmanız önemlidir. Bunu yapmanın iyi bir yolu, eski (ve kolayca tahmin edilebilir) şifrelere güvenmek yerine sunucunuza uzaktan erişim için SSH anahtarları oluşturun yapmaktır.
Veri kaybı konusunda endişeleniyorsanız, çevrimiçi olarak kolayca veritabanınızı yedekleyin yapabilirsiniz. Çoğu veritabanı Linux sunucuları kullanılarak çalıştırılır; bir Linux dosya yedeklemesini kolayca otomatikleştirin yapabilirsiniz. MySQL'i Windows üzerinde çalıştırıyorsanız, benzer bir Windows için otomatik yedekleme sistemi ayarlayarak acil bir durumda verilerinizi geri yükleyebilirsiniz.