MySQL, modern büyük veri ekosistemindeki en tanınmış teknolojilerden biridir. MySQL ile, ilişkisel sistemlerde yeni olanlar bile hızlı, güçlü ve güvenli veri depolama sistemleri oluşturabilir. MySQL’in programatik sözdizimi ve arayüzleri, diğer popüler sorgu dillerinin ve yapılandırılmış veri depolarının geniş dünyasına açılan mükemmel bir ağ geçitidir.
MySQL nedir, kısaca anlatmaya çalıştık. Şimdi biraz detaylandıralım.
MySQL, Oracle tarafından geliştirilmiş, yapılandırılmış sorgu diline (SQL) dayalı bir ilişkisel veritabanı yönetim sistemidir (RDBMS).
Açık kaynak yapısı, istikrarı ve Oracle’nin sürekli geliştirme desteğiyle zengin bir özellik setine sahiptir. Facebook, Flickr, Twitter, Wikipedia ve YouTube gibi internet açısından kritik kuruluşların hepsi MySQL kullanır.
Verileri bir veritabanında depolamak için kullanabileceğiniz farklı yaklaşımlar vardır. MySQL, ilişkisel veritabanı adı verilen bir yaklaşımı tercih eder.
İlişkisel bir veritabanıyla, verileriniz, her şeyi tek bir büyük depolama biriminde bir araya getirmek yerine, tablo adı verilen çok sayıda ayrı depolama alanına böler.
Örneğin, iki tür bilgiyi depolamak istediğinizi varsayalım:
Müşteriler: İsimleri, adresleri, detayları vb.
Siparişler: Hangi ürünlerin satın alındığı, fiyatı, siparişi kimin verdiği vb.
Tüm bu verileri tek bir büyük depolama alanında toplamaya çalışsaydınız, birkaç sorununuz olurdu. Bu sorunları çözmek için, ilişkisel bir veritabanı müşteriler için ayrı bir tablo, siparişler için başka bir tablo kullanır.
“Key” yani “Anahtar” kullanarak, bu iki tablodaki verileri birbirine bağlayabilir, böylece farklı tablolardaki verileri gerektiği gibi işleyebilir ve birleştirebilirsiniz.
WordPress sitenizin veritabanına daha önce baktıysanız, bu ilişkisel modeli kullandığını ve tüm verilerinizin ayrı tablolara bölündüğünü görebilirsiniz.
İlişkisel bir veritabanı sistemi olmanın ötesinde, MySQL ayrıca istemci-sunucu modeli adı verilen bir şey kullanır.
Sunucu kısmı, verilerinizin gerçekte bulunduğu yerdir. Bu verilere erişmek için talepte bulunmanız gerekir.
İstemci daha önce bahsettiğimiz programlama dili olan SQL’i kullanarak müşterinin ihtiyaç duyduğu veriler için veritabanı sunucusuna bir istek gönderir.
Örneğin, birisi sitenizdeki bir blog gönderisini ziyaret ederse, WordPress siteniz, blog gönderisini o ziyaretçinin web tarayıcısına teslim etmek için ihtiyaç duyduğu tüm bilgileri almak için veritabanı sunucusuna birden çok SQL isteği gönderir.
Piyasadaki çoğu veritabanı yönetim sistemi gibi, MySQL de bir istemci-sunucu mimarisine sahiptir ve ağa bağlı bir ortamda kullanılabilir. Sunucu programı, veritabanı dosyalarının depolandığı aynı fiziksel veya sanal sistemde bulunur ve veritabanları ile tüm etkileşimlerden sorumludur.
Veritabanı yönetimi için MySQL araçları veya diğer programlama dillerinde yazılmış uygulamalar gibi çeşitli istemci programları, sunucuya bağlanabilir ve veritabanı talepleri yapabilir. Sunucu, istemci isteklerini işler ve sonuçları istemciye geri gönderir.
Bir istemci, sunucuyla aynı sistemde veya uzak bir ana bilgisayarda bulunabilir ve sunucuya bir ağ veya internet bağlantısı üzerinden veritabanı istekleri gönderebilir. Önemli olan, MySQL sunucusunun istemcilerin bağlanması için çalışıyor olmasıdır.
MySQL için en yaygın kullanım, bir web veritabanı içindir. Tek bir bilgi kaydından çevrimiçi mağaza için mevcut ürünlerin tüm envanterine kadar her şeyi depolamak için kullanılabilir.
PHP veya Perl gibi bir betik diliyle ilişkili olarak, kategorize edilmiş ve aranabilir bilgileri bir web sitesi kullanıcısına hızlı bir şekilde göstermek için bir mySQL veritabanı ile gerçek zamanlı olarak etkileşime girecek web siteleri oluşturmak mümkündür.
İlişkisel model ilk olarak 1970 tarihli bir makalede Edgar F. Codd tarafından tasvir edilmiştir. Modelle ilgili ilk ticari programlama dillerinden biri olan SQL, kısa bir süre sonra IBM tarafından geliştirilmiştir. SQL, 1986’da ANSI standardı olarak kabul edilmiş ve bir yıl sonra ISO’da en yaygın kullanılan veritabanı dili olarak benimsenmiştir.
MySQL ise ilk kez 1995 yılında İsveçli şirket MySQL AB tarafından piyasaya sürülmüştür. İlişkisel sistemlerin yükselişini takip eden veritabanı yazılımının çoğu gibi, MySQL de; daha fazla özellik, destek, prosedürel programlama, kontrol-akış mekanizmalarıyla orijinal SQL standardının bir uzantısı haline gelmiştir.
MySQL ile SQL arasındaki farka gelince…
MySQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir. WordPress siteleri için tüm blog yazılarınızı, kullanıcılarınızı, eklenti bilgilerinizi vb. saklamanıza yardımcı olur. Bu bilgileri ayrı “tablolarda” saklar ve “anahtarlar” ile birleştirir, bu yüzden ilişkiseldir.
WordPress sitenizin bu bilgilere erişmesi gerektiğinde, SQL kullanarak MySQL veritabanı sunucusuna bir istek gönderilir (bu, istemci-sunucu modelidir).
MySQL, en yaygın kullanılan ve popüler veritabanı teknolojileri arasındadır. Bu nedenle veritabanları tasarlama, oluşturma ve yönetme süreçlerini daha kolay ve daha rahat hale getirmek için oldukça fazla araç oluşturulmuştur. Ancak, gereksinimlerinize en uygun aracı seçmek zor olabilir. Bu nedenle, hem geliştiriciler hem de DBA’lar için en iyi 3 MySQL GUI aracının listesini sizin için derledik:
Bu çok amaçlı GUI aracı, MySQL veritabanı geliştirme ve bakımı için gerekli olan çok çeşitli özellik ve işlevleri içeren bir IDE’dir. Sorgular oluşturmanıza ve yürütmenize, depolanan rutinleri geliştirmenize ve hatalarını ayıklamanıza, veritabanı nesne yönetimini otomatikleştirmenize, sezgisel bir arayüz aracılığıyla tablo verilerini analiz etmenize ve çok daha fazlasına olanak tanır.
MySQL Workbench, veritabanı mimarları, geliştiricileri ve DBA’lar için birleşik bir görsel araçtır. Veritabanlarını tasarlamak, geliştirmek ve yönetmek için çeşitli işlevler sağlar. 3 sürümü mevcuttur: Community, Standard ve Enterprise. Community, temel bir dizi özellik sunan ücretsiz bir açık kaynak sürümüdür, geri kalan ikisi genişletilmiş işlevselliğe sahip ticari sürümlerdir.
phpMyAdmin, PHP ile yazılmış web tabanlı bir MySQL yönetim aracıdır. Kullanımının çok kolay olması ve tamamen ücretsiz olması nedeniyle türünün en popüler araçlarından biridir. Diğer araçların sağladığı bazı gelişmiş özelliklerden yoksun olabilir, ancak temel işlevselliği, MySQL konusunda ileri düzeyde bilgi sahibi olmadan çalışan web siteleri oluşturmanıza yardımcı olmak için yeterlidir.
Bazı önemli MySQL komutları aşağıdaki gibidir:
# [mysql dir]/bin/mysql -h hostname -u username -ppassword
mysql dir/bin/mysql.exe -h hostname -u username -ppassword
mysql> create database [databasename];
mysql> show databases;
mysql> show tables;
mysql> describe [table name];
mysql> drop database [database name];
mysql> drop table [table name];
mysql> SELECT * FROM [table name];
mysql> show columns from [table name];
mysql> SELECT * FROM [table name] WHERE name = "Something" AND phone_number = ‘0123456789';
mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
mysql> SELECT SUM(*) FROM [table name];
# mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> flush privileges;
mysql> UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = ‘user';
mysql> DELETE from [table name] where [field name] = ‘fieldvalue';
mysql> flush privileges;
mysql> alter table [table name] drop column [column name];
mysql> alter table [table name] add column [new column name] varchar (20);
mysql> alter table [table name] change [old column name] [new column name] varchar (50);
mysql> alter table [table name] add unique ([column name]);
mysql> alter table [table name] drop index [colmn name];
mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
WordPress’in işlevsel olması için iki ana bileşen gerekir: WordPress web sitesinden indirilebilen varsayılan dosya seti ve bir MySQL veritabanı.
Birçok hosting sağlayıcısı tek tıklamayla WordPress yükleyicileri sunar ve bu işlemle uğraşmanıza gerek kalmaz. Bazı hosting sağlayıcıları ise bunu yapmaz, bu nedenle veritabanını manuel olarak oluşturmanız gerekir.
Bu başlık altında, manuel olarak yeni bir veritabanı oluşturma sürecini gözden geçireceğiz.
Öncelikle, hosting hesabınızın cPanel arayüzünden MySQL veritabanı yöneticisine erişmeniz gerekir:
MySQL yönetici sayfasına geldikten sonra, devam edebilir ve yeni bir veri tabanı oluşturabilirsiniz. Tüm veri tabanları genellikle hesap adınızın önüne eklenir. Dolayısıyla, “mydb” adında yeni bir veritabanı oluşturacaksanız, “accountname_mydb” olarak oluşturulacaktır.
“Create Database – Veri tabanı Oluştur” düğmesine tıkladığınızda, veri tabanı oluşturulacaktır. Veri tabanını WordPress’e bağlamadan önceki son işlemin bu olmadığını unutmayın. Ayrıca yeni bir veritabanı kullanıcısı oluşturmanız veya var olan birini atamanız gerekecektir. Bunu yaptıktan sonra, artık yeni veritabanınızı WordPress’e bağlayabilirsiniz.
Zaten var olan bir veri tabanı kullanıcısına veri tabanı ayrıcalıkları atamak isteyebileceğinizden, bu adımın her zaman zorunlu olmadığını unutmayın. Yeni bir kullanıcı oluşturmak istemiyorsanız bu adımı atlayabilirsiniz.
MySQL Databases sayfasında, veri tabanı kullanıcıları sekmesini bulana kadar aşağı kaydırın ve istediğiniz kullanıcı adı ve parolayla kullanıcıyı oluşturun. Çoğu durumda, kullanıcı adlarının önüne hosting hesabı adınızın ekleneceğini unutmayın. Şifreler için çoğu hosting sağlayıcısı, şifrenizin güvende olduğundan emin olmak için bir şifre üretici düğmesi sunar. Veri tabanını WordPress’e bağlarken bu kimlik bilgilerine ihtiyacınız olacağından kullanıcı adını ve parolayı kopyalayıp kaydettiğinizden emin olun.
Bir veri tabanı kullanıcınız olduğunda, onu bir veri tabanına atayabilirsiniz. Böylece veri tabanı bilgilerini okuyabilir, yazabilir ve değiştirebilir.
“Add – Ekle” butonuna tıkladığınızda, kullanıcı veritabanına eklenecek ve kullanıcı ayrıcalıkları (user privileges page) sayfasına yönlendirileceksiniz. Kullanıcının veri tabanınızla etkileşime girebilmesi için TÜM ayrıcalıkları (ALL privileges) etkinleştirmeniz gerekir.
Yukarıdaki adımı tamamladıktan sonra veri tabanınız WordPress’e bağlanmaya hazırdır.
Bunu, wp-config.php dosyasına veritabanı adını, veritabanı kullanıcı kimlik bilgilerini ekleyerek yapabilirsiniz.
Bu dosyayı WordPress kurulumunuzun kök dizininde bulabilirsiniz. Bu dosyayı açın ve aşağıdaki satırları arayın:
// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘database_name’);
/** MySQL database username */
define(‘DB_USER’, ‘database_username’);
/** MySQL database password */
define(‘DB_PASSWORD’, ‘database_user_password’);
/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);
/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8mb4’);
/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);
İlgili ayrıntıları az önce oluşturduklarınızla değiştirin.
database_name kısmını MySQL veritabanıyla, database_username adını oluşturduğunuz kullanıcının adıyla ve database_user_password önceki adımda oluşturduğunuz kullanıcı parolasıyla değiştirin.
Bunu yaptıktan sonra, WordPress kurulumunuza erişebilmeli ve temel web sitesi bilgilerini (web sitesi başlığı, etiket satırı, yönetici kullanıcı adı ve şifresi) eklemelisiniz.
Bu ayrıntıları ekledikten ve “Install WordPress – WordPress Yükle” butonuna tıkladıktan sonra web siteniz kullanıma hazırdır.
Yukarıda sizinle MySQL’in ne olduğunu, ne işe yaradığını, nasıl yükseltileceğini vb. MySQL ile ilgili merak edebileceğiniz birçok şeyi paylaştık. MySQL ile ilgili merak ettiğiniz farklı şeyler varsa, yorum bölümünde bize yazın. İçeriğimizi geliştirmek için deneyimlerinizi ve önerilerinizi paylaşmayı unutmayın.
.TR öncelikli kayıtlar için son gün, 7 Ağustos 2024 olarak güncellenmiştir. Bunun akabinde süreçle ilgili…
WooCommerce, WordPress üzerine kurulu güçlü ve açık kaynaklı bir e-ticaret platformudur. Doğru WooCommerce eklentileriyle çevrimiçi…
Yedekleme, WordPress web sitenizi siber saldırılardan ve kritik hatalardan korumanın önemli bir parçasıdır. Bu yüzden…
Her WordPress web sitesi aşağıdaki giriş URL'lerine sahiptir: websiteniz.com/wp-admin websiteniz.com/wp-login Giriş yolları tüm web siteleri…
İnternette gezinirken büyük çoğunuz, "this site can’t provide a secure connection (bu site güvenli bağlantı…
ChatGPT'nin Kasım 2022'de piyasaya sürülmesinden bu yana teknoloji gündeminde en çok konuşulan şey yapay zeka…
View Comments
Tebrik ederim güzel ve aydınlatıcı bir yazı olmuş.