Debian 10 Üzerine En Son MySQL Sürümünü Kurulum Rehberi
Bu kapsamlı rehberde, Debian 10 (Buster) işletim sistemi üzerine MySQL veritabanı sunucusunun en son kararlı sürümünü nasıl kuracağınızı adım adım öğreneceksiniz. Debian’ın varsayılan APT depoları genellikle MySQL’in daha eski sürümlerini içerdiğinden, en güncel özelliklerden, performans iyileştirmelerinden ve güvenlik yamalarından faydalanmak için MySQL’in resmi APT deposunu kullanacağız. Bu rehber, hem yeni başlayanlar hem de deneyimli sistem yöneticileri için pratik bilgiler ve kod örnekleri içermektedir.
Ön Hazırlıklar ve Sistem Güncelleme
Kuruluma başlamadan önce sisteminizin güncel olduğundan emin olmalı ve gerekli paketleri yüklemek için yönetici ayrıcalıklarına sahip olmalısınız. Aşağıdaki adımlar, sisteminizi hazırlamanıza yardımcı olacaktır:
- Sistem Güncellemesi: İlk olarak, paket listelerinizi güncelleyin ve mevcut tüm paketleri en son sürümlerine yükseltin. Bu, olası bağımlılık çakışmalarını önleyecektir.
sudo apt update
sudo apt upgrade -y
- Gerekli Paketlerin Kurulumu: MySQL deposunu eklemek için bazı yardımcı paketlere ihtiyacımız olabilir. Özellikle, HTTPS üzerinden paket indirmek için
apt-transport-httpsvegnupgpaketleri genellikle gereklidir.
sudo apt install apt-transport-https gnupg wget -y
Bu adımları tamamladıktan sonra, MySQL kurulumuna geçmeye hazırız.
MySQL APT Deposunu Sisteme Ekleme
Debian 10’un kendi depolarında genellikle MySQL’in en son sürümü bulunmaz. Bu nedenle, MySQL’in resmi geliştiricileri tarafından sağlanan APT deposunu sistemimize eklememiz gerekmektedir. Bu depo, MySQL ürünlerinin en güncel sürümlerini doğrudan almanızı sağlar.
MySQL APT Yapılandırma Paketini İndirme
MySQL deposunu eklemenin en kolay yolu, MySQL’in sunduğu bir yapılandırma paketini indirmektir. Bu paket, depo bilgilerini ve GPG anahtarını otomatik olarak sisteminize ekler.
wget https://dev.mysql.com/get/mysql-apt-config_0.8.27-1_all.deb
Not: Yukarıdaki URL’deki sürüm numarası (örneğin, 0.8.27-1) zamanla değişebilir. En güncel sürümü bulmak için MySQL APT Repository sayfasını kontrol edebilirsiniz.
Yapılandırma Paketini Kurma ve Depo Seçimi
İndirdiğiniz .deb paketini dpkg komutuyla kurun:
sudo dpkg -i mysql-apt-config_0.8.27-1_all.deb
Bu komutu çalıştırdığınızda, size hangi MySQL ürününü kurmak istediğinizi soran etkileşimli bir ekran gelecektir. Genellikle, “MySQL Server & Cluster” seçeneğini seçip ardından kurmak istediğiniz MySQL Server sürümünü (örneğin, “mysql-8.0” veya en son kararlı sürüm) seçmeniz gerekir. Seçimlerinizi yaptıktan sonra “Ok” ile işlemi tamamlayın.
APT Depolarını Güncelleme
Yeni depoyu ekledikten sonra, sisteminizin paket listelerini tekrar güncellemeniz gerekmektedir, böylece yeni depodaki paketler görünür hale gelir.
sudo apt update
Artık sisteminiz, MySQL’in en son sürümünü yüklemek için hazır.
MySQL Server Kurulumu
MySQL APT deposunu başarıyla ekleyip güncelledikten sonra, MySQL Server’ı kurmaya başlayabiliriz.
MySQL Server Paketini Kurma
Aşağıdaki komut, MySQL Server ve ilgili bağımlılıklarını sisteminize kuracaktır:
sudo apt install mysql-server -y
Kurulum sırasında sizden root kullanıcısı için bir şifre belirlemeniz istenecektir. Bu şifre, MySQL veritabanına yönetici olarak erişmek için kullanılacaktır. Güçlü bir şifre belirlediğinizden emin olun.
Ayrıca, kimlik doğrulama yöntemi seçeneği de sunulabilir. Genellikle, “Use Strong Password Encryption for authentication” (caching_sha2_password) seçeneğini seçmeniz önerilir, çünkü bu daha güvenli bir yöntemdir. Ancak, eski uygulamalarla uyumluluk sorunları yaşayabileceğinizi düşünüyorsanız, “Use Legacy Authentication Method” (mysql_native_password) seçeneğini de tercih edebilirsiniz. Çoğu modern uygulama caching_sha2_password ile uyumludur.
MySQL Servis Durumunu Kontrol Etme
Kurulum tamamlandıktan sonra, MySQL servisinin düzgün çalışıp çalışmadığını kontrol edebilirsiniz:
sudo systemctl status mysql
Eğer servis çalışıyorsa, çıktıda “active (running)” ifadesini görmelisiniz. Servisin sistem başlangıcında otomatik olarak başlamasını sağlamak için:
sudo systemctl enable mysql
MySQL Güvenlik Yapılandırması ve Temel Kullanım
MySQL kurulumunun önemli bir adımı, varsayılan güvenlik ayarlarını güçlendirmektir. MySQL, ilk kurulumdan sonra güvenlik açıklarını gidermek için kullanışlı bir script sunar.
Güvenlik Yapılandırma Scriptini Çalıştırma
Aşağıdaki komutu çalıştırarak güvenlik scriptini başlatın:
sudo mysql_secure_installation
Bu script size bir dizi soru soracaktır:
- VALIDATE PASSWORD COMPONENT: Şifre güçlüklüğünü kontrol eden bir eklentidir. Etkinleştirmek isteyip istemediğiniz sorulur. Genellikle
Y(Yes) ile etkinleştirmeniz önerilir. Ardından, şifre gücü seviyesini (LOW, MEDIUM, STRONG) seçmeniz istenir. - Change the root password?: Kurulum sırasında belirlediğiniz root şifresini değiştirmek isteyip istemediğiniz sorulur. Genellikle
N(No) diyerek mevcut şifreyi koruyabilirsiniz, ancak isterseniz değiştirebilirsiniz. - Remove anonymous users?: Anonim kullanıcılar, herkesin kullanıcı adı olmadan veritabanına bağlanmasına izin verir. Güvenlik için
Y(Yes) ile kaldırın. - Disallow root login remotely?: Root kullanıcısının sadece yerel makineden bağlanmasına izin verilmesi güvenlik açısından önemlidir.
Y(Yes) ile uzaktan root erişimini devre dışı bırakın. - Remove test database and access to it?: ‘test’ veritabanı varsayılan olarak gelir ve genellikle güvenlik açığı oluşturur.
Y(Yes) ile kaldırın. - Reload privilege tables now?: Yapılan değişikliklerin hemen etkili olması için yetki tablolarını yeniden yükleyin.
Y(Yes) ile onaylayın.
Bu adımları tamamladıktan sonra MySQL sunucunuz daha güvenli bir şekilde yapılandırılmış olacaktır.
MySQL’e Bağlanma ve Temel Veritabanı İşlemleri
Şimdi MySQL sunucusuna bağlanabilir ve temel veritabanı işlemlerini gerçekleştirebiliriz.
mysql -u root -p
Bu komutu çalıştırdıktan sonra, sizden root şifrenizi girmeniz istenecektir. Şifreyi doğru girdiğinizde MySQL komut istemine düşeceksiniz.
Örnek Veritabanı ve Kullanıcı Oluşturma:
Yeni bir veritabanı ve bu veritabanına erişebilecek bir kullanıcı oluşturalım:
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'MyStrongPassword123!';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Yukarıdaki komutlar sırasıyla:
mydatabaseadında bir veritabanı oluşturur.myuseradında, yalnızca yerel makineden (localhost) bağlanabilen veMyStrongPassword123!şifresine sahip bir kullanıcı oluşturur.myuserkullanıcısınamydatabaseüzerindeki tüm yetkileri verir.- Yetki tablolarını yenileyerek değişikliklerin etkili olmasını sağlar.
- MySQL isteminden çıkar.
Artık myuser ile mydatabase‘e bağlanabilirsiniz:
mysql -u myuser -p mydatabase
Sonuç ve Sıkça Sorulan Sorular
Bu rehberde, Debian 10 üzerine MySQL’in en son sürümünü kurmak için gerekli tüm adımları detaylı bir şekilde ele aldık. Resmi MySQL APT deposunu ekleyerek, en güncel ve güvenli sürümü kurmayı başardık. Ayrıca, veritabanı güvenliğini artırmak için mysql_secure_installation scriptini kullandık ve temel veritabanı ve kullanıcı oluşturma işlemlerini gösterdik. MySQL’in gücünden tam olarak yararlanmak için güvenlik en önemli unsurlardan biridir; bu nedenle, güçlü şifreler kullanmaya ve gereksiz yetkileri vermekten kaçınmaya özen gösterin.
Sıkça Sorulan Sorular (SSS)
MySQL root şifremi unuttum, ne yapmalıyım?
MySQL root şifrenizi unutmanız durumunda, MySQL servisini güvenli modda başlatarak veya şifre atlama özelliğini kullanarak sıfırlayabilirsiniz. Bu genellikle MySQL yapılandırma dosyasını (/etc/mysql/mysql.conf.d/mysqld.cnf) düzenleyerek skip-grant-tables satırını ekleyip servisi yeniden başlatmayı ve ardından şifreyi sıfırlamayı içerir.
Uzaktan bağlantıya izin vermek için ne yapmalıyım?
Varsayılan olarak, MySQL sadece yerel makineden bağlantılara izin verir (bind-address = 127.0.0.1). Uzaktan bağlantılara izin vermek için /etc/mysql/mysql.conf.d/mysqld.cnf dosyasındaki bind-address satırını sunucunuzun IP adresine veya tüm bağlantılara izin vermek için 0.0.0.0 olarak değiştirmeniz gerekir. Ayrıca, güvenlik duvarınızda (ufw veya iptables) MySQL’in varsayılan portu olan 3306’ya izin vermeniz ve uzaktan bağlanacak kullanıcıya ilgili yetkileri vermeniz gerekmektedir.
Hangi MySQL sürümünü kurduğumu nasıl anlarım?
MySQL sunucusuna bağlanmadan sürümünü öğrenmek için aşağıdaki komutu kullanabilirsiniz:
mysql --version
Veya MySQL istemine bağlandıktan sonra:
SELECT VERSION();
Kurulum sırasında hata alıyorum, ne yapmalıyım?
Kurulum sırasında bir hata alırsanız, hata mesajını dikkatlice okuyun. Yaygın sorunlar arasında eksik bağımlılıklar, depo anahtarı sorunları veya disk alanı yetersizliği bulunur. Genellikle sudo apt update ve sudo apt install -f gibi komutlar sorunları çözmeye yardımcı olabilir. Hata mesajını internette aratarak da çözüm bulabilirsiniz.