ServBay’da MySQL Veritabanı Yönetimi ve Kullanımı
MySQL, yüksek performans, güvenilirlik ve kolay kullanımıyla bilinen, yaygın olarak kullanılan açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir. ServBay ise güçlü bir yerel web geliştirme ortamı olarak, MySQL entegrasyonunu yerel olarak destekler. Bu makalede, ServBay’da MySQL veritabanını nasıl yöneteceğiniz ve kullanacağınız ayrıntılı olarak anlatılacak; kurulum, yapılandırma, bağlantı, yedekleme, geri yükleme, performans optimizasyonu ve güvenlik yönetimi gibi konular ele alınacak. Böylece ServBay’ın MySQL özelliklerinden en iyi şekilde yararlanabilirsiniz.
MySQL Kurulumu ve Yapılandırması
ServBay, MySQL dahil olmak üzere çeşitli yazılım paketlerini yönetmek için sezgisel bir arayüz sunar.
ServBay uygulamasını açın, sol kenar çubuğundan Yazılım Paketleri’ne tıklayın ve ardından MySQL’i seçin. Burada, ServBay’ın desteklediği MySQL sürümlerinin listesini görebilir ve ihtiyacınıza uygun versiyonu kurabilirsiniz. ServBay, hem eski hem de yeni olmak üzere çok sayıda MySQL sürümünü destekleyerek farklı gereksinimlere çözüm sunar.
Kurmak istediğiniz MySQL sürümünü seçtikten sonra, ServBay indirme ve kurulum işlemini otomatik olarak tamamlayacaktır.
MySQL Servisini Başlatma ve Yönetme
Kurulum tamamlandıktan sonra, MySQL servisini ServBay’ın grafiksel yönetim paneli veya servbayctl
adlı komut satırı aracıyla kolayca yönetebilirsiniz.
ServBay Yönetim Paneli ile Kullanım
- ServBay uygulamasını açın.
- Sol kenar çubuğunda Yazılım Paketleri’ne tıklayın ve ardından MySQL’i seçin.
- MySQL sürüm listesinde, kurduğunuz versiyonu bulun. İlgili servis için başlatma, durdurma veya yeniden başlatma seçeneklerini göreceksiniz. İstediğiniz butona tıklayarak işlemi gerçekleştirebilirsiniz.
servbayctl
Komut Satırı Aracı ile Kullanım
servbayctl
, ServBay tarafından sunulan bir komut satırı aracıdır ve servisleri daha esnek şekilde yönetmenizi sağlar.
bash
# Belirtilen sürümdeki MySQL servisini başlatmak (örnek: MySQL 8.0)
servbayctl start mysql 8.0
# Belirtilen sürümdeki MySQL servisini durdurmak (örnek: MySQL 8.0)
servbayctl stop mysql 8.0
# Belirtilen sürümdeki MySQL servisini yeniden başlatmak (örnek: MySQL 8.0)
servbayctl restart mysql 8.0
# Belirtilen sürümdeki MySQL servisi durumunu görmek (örnek: MySQL 8.0)
servbayctl status mysql 8.0
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Komutu kullanırken 8.0
’ı kendi kurduğunuz MySQL sürüm numarasıyla değiştirin.
MySQL Ayarlarını Yapılandırma
ServBay, MySQL’in yapılandırma dosyasını grafik arayüz ile kolayca düzenlemenize olanak sağlar; böylece özel geliştirme veya performans gereksinimlerinize göre ayarları uyarlayabilirsiniz.
MySQL yapılandırmasını nasıl değiştireceğinizi ve optimize edeceğinizi adım adım öğrenmek için ServBay belgelerindeki MySQL Ayarlarını Düzenleme başlıklı makaleyi inceleyebilirsiniz. Burada yapılandırma dosyasına nasıl ulaşacağınız, nasıl düzenleyeceğiniz ve sık kullanılankonfigürasyon parametrelerinin açıklamaları yer almaktadır.
MySQL’e Bağlanma
MySQL veritabanına bağlantı, geliştirme sürecinin temelini oluşturur. ServBay’da MySQL’e hem komut satırı istemcisiyle hem de phpMyAdmin ve Adminer gibi grafiksel veritabanı yönetim araçlarıyla bağlanabilirsiniz.
Komut Satırı ile Bağlanma
MySQL’in komut satırı istemcisi, SQL sorgularını çalıştırma ve yönetim işlemleri için son derece kullanışlıdır.
TCP/IP Bağlantısı Kullanmak: En sık kullanılan bağlantı şeklidir. Bağlantı için genellikle ana makine olarak
localhost
ve varsayılan MySQL portu olan3306
verilir.bashmysql -u your_username -p -h localhost -P 3306
1Komutu çalıştırdıktan sonra, sistem sizden şifre girmenizi isteyecektir.
Socket ile Bağlanmak: Yerel bağlantılarda, Unix domain socket kullanmak genellikle daha verimli ve güvenlidir. Socket dosya yolu çoğunlukla ServBay’in geçici dizininde bulunur.
bashmysql -u your_username -p -S /Applications/ServBay/tmp/mysql.sock
1Yine, komutu çalıştırınca şifre istenecek.
your_username
kısmına kendi MySQL kullanıcı adınızı girin. ServBay’de yeni kurulan MySQL için varsayılan root
kullanıcısının şifresini ServBay kontrol panelinden bulabilir veya ayarlayabilirsiniz. Güvenlik için, root
kullanıcısı için güçlü bir şifre belirlemenizi veya günlük geliştirme için özel yetkilere sahip yeni bir kullanıcı oluşturmanızı tavsiye ederiz.
phpMyAdmin ve Adminer ile Bağlanma
ServBay, iki popüler web tabanlı veritabanı yönetim aracı olan phpMyAdmin ve Adminer’ı önceden kurulu olarak sunar; böylece MySQL veritabanınızı grafik arayüz ile rahatça yönetebilirsiniz.
Yönetim araçlarına ServBay’in varsayılan giriş adresinden ulaşabilirsiniz:
- Giriş Adresi: https://servbay.host
Burada phpMyAdmin ve Adminer bağlantılarını göreceksiniz. İlgili bağlantıya tıklayıp MySQL kullanıcı adınız ve şifrenizle giriş yaparak veritabanınızı grafik arayüzle yönetmeye başlayabilirsiniz. Database oluşturma/silme, tablo ve kullanıcı yönetimi, veri içe/dışa aktarma gibi birçok işlemi bu araçlarla kolayca gerçekleştirebilirsiniz.
Veritabanı Yönetimi Temelleri
MySQL’e bağlandıktan sonra birçok veritabanı yönetim işlemini gerçekleştirebilirsiniz.
Veritabanı ve Kullanıcı Oluşturma
Projeleriniz için ayrı veritabanı ve kullanıcılar oluşturmak hem güvenlik hem de ayrıştırma açısından iyi bir uygulamadır.
Veritabanı oluşturmak:
CREATE DATABASE
komutuyla yeni bir veritabanı oluşturabilirsiniz.sqlCREATE DATABASE mydatabase;
1mydatabase
adını istediğiniz veritabanı adı ile değiştirin.Kullanıcı oluşturmak ve yetki vermek: Sadece belirli bir veritabanına erişim yetkisi olan yeni bir MySQL kullanıcısı oluşturmak, günlük işlemler için
root
kullanıcısı kullanmaktan daha güvenlidir.sql-- Yerel sunucuda 'servbay-demo' adında yeni bir kullanıcı ve şifre oluşturun CREATE USER 'servbay-demo'@'localhost' IDENTIFIED BY 'a_strong_password_here'; -- 'servbay-demo' kullanıcısına 'mydatabase' veritabanında tüm yetkileri verin GRANT ALL PRIVILEGES ON mydatabase.* TO 'servbay-demo'@'localhost'; -- Yetkileri yenileyin FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8servbay-demo
yerine kendi kullanıcı adınızı,a_strong_password_here
yerine güçlü bir şifre,mydatabase
yerine de oluşturduğunuz veritabanının adını yazabilirsiniz.'localhost'
sadece yerel bağlantı anlamına gelir.
Yedekleme ve Geri Yükleme
Veritabanınızı düzenli olarak yedeklemek, olası veri kayıplarının önüne geçmek için çok önemlidir. ServBay hem manuel hem de otomatik yedekleme imkanı sunar.
Veritabanını Elle Yedekleme
mysqldump
aracı, veritabanınızı SQL dosyası olarak dışa aktarmanızı sağlar.
Yedekleri ServBay’ın merkezi yedekleme klasöründe saklamanız önerilir:
bash
/Applications/ServBay/backup/mysql
1
Aşağıdaki komut ile belirli bir veritabanını yedekleyebilirsiniz:
bash
mysqldump -u your_username -p mydatabase > /Applications/ServBay/backup/mysql/mydatabase_backup_$(date +"%Y%m%d_%H%M%S").sql
1
your_username
yerine yetkili kullanıcınızı, mydatabase
yerine yedeklemek istediğiniz veritabanı adını yazın. Komutta $(date +"%Y%m%d_%H%M%S")
ifadesi, dosya adına otomatik olarak o anki tarih ve saat bilgisini ekler.
Veritabanını Geri Yükleme
SQL yedek dosyasından veritabanını geri yüklemek için mysql
komut satırı istemcisini kullanabilirsiniz.
bash
mysql -u your_username -p mydatabase < /Applications/ServBay/backup/mysql/mydatabase_backup_file.sql
1
Kullanıcı adı, veritabanı adı ve dosya yolunu kendi bilgilerinizle değiştirin.
ServBay Otomatik Yedekleme Özelliği
ServBay, veritabanı, web sitesi dosyaları, ayarlar, SSL sertifikaları gibi tüm kritikh verilerinizi otomatik olarak ve belirli aralıklarla yedekleyebileceğiniz gelişmiş otomatik yedekleme özelliğine sahiptir. Otomatik yedeklemeyi ServBay ayarlarında yapılandırabilir, veri kaybı olasılığını en aza indirebilirsiniz. Detaylı kurulum için MySQL Veritabanını Otomatik Yedekleme ve Geri Yükleme makalesine göz atın.
Performans Optimizasyonu
Veritabanı performansı, uygulamanızın hızına doğrudan etki eder. MySQL’i optimize etmek için çeşitli seçenekler vardır.
İndeks Optimizasyonu
Tablolardaki sıkça sorgulanan (WHERE
koşulu), birleştirilen (JOIN
) veya sıralanan (ORDER BY
) kolonlara indeks eklemek, sorgu performansını artırmanın en etkili yoludur.
Örneğin, your_table_name
tablosundaki column_name
alanına indeks oluşturmak için:
sql
CREATE INDEX idx_column_name ON your_table_name(column_name);
1
Sorgu Optimizasyonu
EXPLAIN
komutu ile SQL sorgularınızın nasıl çalıştığını analiz edebilirsiniz; böylece veritabanının sorguları nasıl işlediğini görüp olası darboğazları tespit edebilirsiniz.
sql
EXPLAIN SELECT * FROM your_table_name WHERE column_name = 'value';
1
EXPLAIN
çıktısını inceleyerek doğru indeks kullanımı, tam tablo taraması gibi konuları analiz edebilir ve sorgularınızı veya indekslerinizi buna göre optimize edebilirsiniz.
Yapılandırma Optimizasyonu
MySQL yapılandırma dosyasındaki bazı parametreleri ayarlamak veritabanı performansını ciddi şekilde etkiler. Önemli parametreler şunlardır:
innodb_buffer_pool_size
: InnoDB motorunun veri ve indeksleri önbellekte tutması için ayrılan alan. Performans için en kritik parametrelerden biri olup, sistem belleğinizin %50-70’ine kadar ayarlanabilir.key_buffer_size
: MyISAM için indeks önbellek boyutu. Sadece InnoDB kullanılıyorsa düşük tutulabilir.max_connections
: Maksimum istemci bağlantı sayısı.query_cache_size
: Sorgu önbellek boyutu (Yeni MySQL sürümlerinde kaldırılmış veya devre dışı bırakılmıştır).
Bu parametreleri ServBay’ın yapılandırma editöründen düzenleyebilirsiniz. Örneğin, InnoDB buffer pool boyutunu my.cnf
dosyasından ayarlamak için:
ini
[mysqld]
innodb_buffer_pool_size = 1G # Sistem belleğinize uygun şekilde ayarlayın
1
2
2
Ayarları değiştirdikten sonra MySQL servisini yeniden başlatmanız gerekir.
Güvenlik Yönetimi
Veritabanınızı yetkisiz erişim ve veri kaybından korumak çok önemlidir.
Güçlü Şifreler Belirleyin
Tüm veritabanı kullanıcıları (özellikle root
kullanıcı) için güçlü, benzersiz ve karmaşık şifreler belirleyin; düzenli olarak da değiştirin.
sql
-- MySQL’e giriş yaptıktan sonra şifre değiştirin
ALTER USER 'your_username'@'localhost' IDENTIFIED BY 'your_new_strong_password';
-- Eski sürümlerde SET PASSWORD komutunu da kullanabilirsiniz
-- SET PASSWORD FOR 'your_username'@'localhost' = PASSWORD('your_new_strong_password');
1
2
3
4
5
2
3
4
5
your_username
ve your_new_strong_password
kısımlarını kendi kullanıcı bilgileriniz ile doldurun.
Düzenli Yedekleme
Elle yedeklemeye ek olarak, ServBay’ın otomatik yedekleme özelliğini de mutlaka etkinleştirin; yedekleri güvenli ve tercihen harici bir lokasyonda saklayın.
Erişim Yetkilerini Sınırlandırın
Minimum yetki prensibini takip edin; kullanıcıya sadece işine yetecek en düşük hakları verin. Tüm yetkilere sahip (ALL PRIVILEGES ON *.*
) kullanıcılarla günlük işler yürütmeyin.
sql
-- Bir kullanıcının tüm veritabanı ve tablolar üzerindeki haklarını kaldırın (Dikkatli kullanın!)
REVOKE ALL PRIVILEGES ON *.* FROM 'your_username'@'localhost';
-- Belirli bir veritabanına özel izinler tanımlayın
GRANT SELECT, INSERT, UPDATE, DELETE ON mydatabase.* TO 'your_username'@'localhost';
-- Yetkileri yenileyin
FLUSH PRIVILEGES;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
Kullanıcının görevine göre, SELECT
, INSERT
, UPDATE
, DELETE
, CREATE
, DROP
, ALTER
gibi ihtiyacına özel haklar tanımlayın.
Sık Sorulan Sorunlar ve Çözümleri
MySQL kullanırken karşılaşabileceğiniz bazı yaygın sorunlar ve çözüm yolları aşağıda listelenmiştir.
Şifre Sorunları
MySQL’deki root
veya diğer kullanıcıların şifresini unuttuysanız, birkaç adımda şifrenizi sıfırlayabilirsiniz. ServBay bu süreci kolaylaştırır.
Detaylı adımlar için ServBay belgelerindeki MySQL root Şifresi Nasıl Sıfırlanır başlıklı sayfayı ziyaret edebilirsiniz.
MySQL’e Bağlanamama Sorunu
MySQL’e bağlanamıyorsanız, şu adımları izleyerek sorunu analiz edebilirsiniz:
MySQL servisinin çalışıp çalışmadığını kontrol edin: ServBay arayüzünden veya
servbayctl
komutunu kullanarak servisin durumunu sorgulayın.bashservbayctl status mysql 8.0
1Servis çalışmıyorsa başlatmayı deneyin.
Bağlantı parametrelerini kontrol edin: Kullanıcı adı, şifre, host/IP, port ve socket yolu gibi tüm bilgilerin doğru olması gerekir. Özellikle,
localhost
üzerinden TCP/IP mi yoksa socket mi kullandığınıza dikkat edin.Güvenlik duvarı ayarlarını kontrol edin: Yerel geliştirmede genelde sorun olmasa da, sistemi veya üçüncü parti yazılımlar katı firewall kurallarına sahipse, MySQL portu (varsayılan 3306) için yerel bağlantılara izin verildiğinden emin olun.
MySQL kullanıcı izinlerini kontrol edin: Bağlanmaya çalıştığınız kullanıcının, ilgili bağlantı şeklini (ör:
localhost
) kullanabilme yetkisine sahip olması gerekir. KullanıcıyaGRANT OPTION
hakkı verilmiş olmalı kiSHOW GRANTS
komutunu çalıştırabilsin.sql-- Bağlantı sağlandıktan sonra kullanıcının haklarını görüntüleyin SHOW GRANTS FOR 'your_username'@'localhost';
1
2
Yetki Sorunları
Bağlantı kurduğunuz halde tablo oluşturma veya veri ekleme gibi bazı işlemleri yapamıyorsanız, muhtemelen yetki eksikliğinden kaynaklanır.
Kullanıcı haklarını kontrol edin: MySQL’e giriş yaptıktan sonra
SHOW GRANTS
ile mevcut yetkilerinizi sorgulayın.sqlSHOW GRANTS FOR 'your_username'@'localhost';
1Gerekli yetkileri verin: Yeterli haklara sahip bir hesapla (örneğin
root
) giriş yapıp, hedef kullanıcıya ihtiyaç duyduğu haklarıGRANT
komutu ile verin ardındanFLUSH PRIVILEGES
ile güncelleyin.sql-- Örneğin bir veritabanı için tüm hakları verin GRANT ALL PRIVILEGES ON mydatabase.* TO 'your_username'@'localhost'; FLUSH PRIVILEGES;
1
2
3
Sonuç
MySQL, web geliştirmede vazgeçilmez veritabanı sistemidir; ServBay ise MySQL’i yerel ortamda kolayca yönetmenizi ve kullanmanızı sağlar. ServBay’ın grafik arayüzü ve servbayctl
komut satırı aracıyla MySQL’i kurmak, başlatmak, durdurmak ve yapılandırmak çok pratiktir. Dahili phpMyAdmin/Adminer araçları ve yukarıda anlatılan bağlantı yöntemleri, yönetim ipuçları, yedekleme-geri yükleme stratejileri, performans ve güvenlik önerileriyle ServBay ortamındaki MySQL veritabanınızı hızlı, stabil ve güvenli şekilde çalıştırabilirsiniz. ServBay’ın otomatik yedekleme özelliği ise veri güvenliğiniz için ekstra koruma sağlar.