mysql2 paketi, Node’dan bir veritabanına bağlanmayı kolaylaştırır. Her şeyi öğrenin.
Çoğu gerçek dünya uygulaması, veritabanlarında veri tutar. Bu nedenle, uygulamanızı bir veritabanına nasıl bağlayacağınızı ve ondan nasıl veri alacağınızı bilmek önemlidir.
MySQL, bir veritabanı için mükemmel bir seçimdir. Kullanımı kolaydır, yaygın desteğe sahiptir ve en popüler ilişkisel veritabanlarından biridir.
Sen başlamadan önce
Bağlantı kodunu yerel bir MySQL sunucusunda test edeceğiniz için, önce bir MySQL sunucusu kurmanız gerekecek. Bunu yaptıktan sonra boş bir veritabanı oluşturun ve kullanıcı adı ve şifrenizin elinizde olduğundan emin olun.
Bir Düğüm Uygulaması Oluşturun
Terminalinizde, düğüm uygulamanız için yeni bir klasör oluşturmak üzere aşağıdaki komutu çalıştırın:
mkdir node-mysql
node-mysql klasörüne gidin ve npm kullanarak başlatın:
cd node-mysql
npm init -y
Bu, diğer yapılandırmaların yanı sıra projenizin bağımlılıklarını da barındıran bir package.json dosyası oluşturacaktır.
Düğümü MySQL’e Bağlayın
Düğüm uygulamanızı MySQL’e bağlamanın birkaç yolu vardır. mysql2 paketi, aşağıdaki gibi bir komutla yükleyebileceğiniz mükemmel bir seçimdir:
npm install mysql2
Bağlantıyı kurmak için ana bilgisayar, bağlantı noktası, kullanıcı, veritabanı ve parola gibi birkaç değere ihtiyacınız vardır. Yerel olarak kurulmuş bir MySQL sunucusunda nodedb adlı bir veritabanına bağlanan bir örnek .
const config = {
host: “localhost”,
port: 3306,
database: “nodedb”,
user: “root”,
password: “********”,
}
Bu, aşağıdaki programda olduğu gibi bağlantı yöntemine ileteceğiniz yapılandırma nesnesidir.
const mysql = require(“mysql2”)
const config = {
host: “localhost”,
database: “db_name”,
user: “mysql_username”,
password: “mysql_password”,
connectionLimit: 100,
}
const connection = mysql.createConnection(config)
connection.connect(function(err) {
if (err) throw(err);
console.log(“Connected!”);
});
Veritabanı ayrıntılarını mysql.createConnection() yöntemine ilettiğinizde, bir bağlantı nesnesi yaratırsınız. Bağlantı nesnesi, tablo oluşturma, silme veya okuma gibi işlemleri gerçekleştirmenize izin verir.
Örneğin, aşağıdaki kod, bağlandığınız veritabanında bir tablo oluşturur.
connection.connect(function(err) {
if (err) throw err;
console.log(“Connected!”);
let createUser = `CREATE TABLE users (user_id INT(100), user_name VARCHAR(255), email VARCHAR(255))`;
connection.query(createUser, function(err, results, fields) {
if (err) {
console.log(err.message);
}
});
});
Çalıştırdığınızda, bu sorgu veritabanında users adlı yeni bir tablo oluşturacaktır. Sorgu, ihtiyaçlarınıza uygun bir MySQL veritabanı şeması oluşturmak için uyarlayabileceğiniz ortak sözdizimini kullanır.
Yalnızca tek bir bağlantı yapmak istiyorsanız, yukarıdaki bağlantı programı iyi çalışır. Ancak, eşzamanlı bağlantı istekleri yaparken bağlantı havuzu kullanmak en iyisidir.
Bir Bağlantı Havuzu Kullanarak Düğümü MySQL’e Bağlayın
Açma ve kapama bağlantıları, özellikle çok sayıda olduğunda pahalı olabilir. Veritabanı bağlantı havuzu oluşturma, açık bağlantı havuzunu koruyarak bu maliyetin azaltılmasına yardımcı olur. Talep edildiğinde havuz talep üzerine açık bağlantı sağlayabilir.
Bunu yaparak zamandan tasarruf edersiniz çünkü her seferinde yeni bir bağlantı açmak zorunda kalmazsınız.
Düğümde bir bağlantı havuzu oluşturmak için aşağıdaki kodu kullanın:
const mysql = require(“mysql2”);
const config = {
host: “localhost”,
database: “db_name”,
user: “mysql_username”,
password: “mysql_password”,
connectionLimit: 100,
}
const pool = mysql.createPool(config);
pool.query(“SELECT * FROM some_table”, (err, data) => {
if (err) throw(err)
console.log(data);
});
Yapılandırma ayrıntılarını kendi ortamınıza uyacak şekilde değiştirmeyi unutmayın.
MySQL’e Güvenli Bağlanma
mysql2 kitaplığı, bir Düğüm uygulamasını bir MySQL veritabanına bağlama sürecini basitleştirir. Tek bir istemci veya bağlantı havuzu kullanabilirsiniz. Ancak, birden fazla istek yapmanız gerekiyorsa, daha az maliyetli olduğu için bir bağlantı havuzu kullanmak en iyisidir.
Veritabanına bağlanmak yalnızca ilk adımdır. Ayrıca veritabanında sakladığınız verilerin güvenli olduğundan da emin olmalısınız. Sonuçta MySQL, saldırganlar için popüler bir hedeftir. MySQL veritabanı sunucunuzun güvenliğini sağlamak için atabileceğiniz bazı temel adımlar vardır. Güçlü bir kullanıcı parolası belirleyin, uzaktan oturum açmayı kısıtlayın ve gereksiz ayrıcalıklar vermeyin.