Takip et

En Son MySQL Sürümünü Ubuntu 20.04’e Yükleme Rehberi

En Son MySQL Sürümünü Ubuntu 20.04’e Yükleme Rehberi Ubuntu 20.04 (Focal Fossa) sunucunuza en son MySQL veritabanı sunucusunu kurmak, birçok

En Son MySQL Sürümünü Ubuntu 20.04’e Yükleme Rehberi

Ubuntu 20.04 (Focal Fossa) sunucunuza en son MySQL veritabanı sunucusunu kurmak, birçok web uygulaması ve sistem için temel bir adımdır. Ubuntu’nun varsayılan APT depoları genellikle kararlı ancak bazen güncel olmayan MySQL sürümlerini içerir. Bu rehberde, MySQL’in resmi APT deposunu kullanarak her zaman en güncel ve kararlı sürümünü nasıl kuracağınızı adım adım açıklayacağız. Bu yöntem, size en yeni özelliklere, performans iyileştirmelerine ve güvenlik yamalarına erişim sağlar.

MySQL, dünyanın en popüler açık kaynaklı ilişkisel veritabanı yönetim sistemidir (RDBMS). Veri depolama, yönetme ve alma süreçlerini kolaylaştırarak dinamik web sitelerinden karmaşık iş uygulamalarına kadar geniş bir yelpazede kullanılır. Bu kurulum rehberi, MySQL 8.0 veya en güncel sürümünü Ubuntu 20.04 sisteminize sorunsuz bir şekilde entegre etmenize yardımcı olacaktır.

Ön Hazırlıklar ve Sistem Güncelleme

Kuruluma başlamadan önce sisteminizin güncel olduğundan ve olası çakışmaları önlemek için eski MySQL kurulumlarının kaldırıldığından emin olmalıyız. Bu adımlar, temiz ve sorunsuz bir kurulum için kritik öneme sahiptir.

Sistemi Güncelleme

İlk olarak, paket listelerinizi güncelleyelim ve mevcut paketlerinizi en son sürümlerine yükseltelim. Bu, olası bağımlılık sorunlarını çözmeye yardımcı olur ve sisteminizi en iyi duruma getirir.

sudo apt update
sudo apt upgrade -y

Bu komutlar, sisteminizdeki mevcut paketleri kontrol eder ve varsa güncellemeleri yükler. -y bayrağı, tüm onay istemlerine otomatik olarak “evet” yanıtı vermenizi sağlar.

Mevcut MySQL Kurulumlarını Kaldırma (Opsiyonel)

Eğer sisteminizde daha önce bir MySQL veya MariaDB kurulumu varsa, yeni ve temiz bir kurulum yapmak için bunları tamamen kaldırmanız önerilir. Bu adım zorunlu değildir, ancak eski yapılandırma dosyalarının veya veritabanı kalıntılarının yeni kuruluma müdahale etmesini engeller.

sudo apt purge mysql-server mysql-client mysql-common mysql-server-core- mysql-client-core- -y
sudo apt autoremove -y
sudo apt autoclean
sudo rm -rf /etc/mysql /var/lib/mysql

sudo apt purge mysql -y: MySQL ile ilgili tüm paketleri ve yapılandırma dosyalarını kaldırır.
* sudo apt autoremove -y: Kullanılmayan bağımlılıkları kaldırır.
* sudo apt autoclean: APT’nin indirilen paket arşivini temizler.
* sudo rm -rf /etc/mysql /var/lib/mysql: MySQL’in yapılandırma dizinlerini ve veri dizinini tamamen siler. Bu komut, mevcut tüm MySQL veritabanlarınızı siler. Eğer verilerinizi saklamak istiyorsanız, bu adımı atlamalı veya verilerinizi yedeklemelisiniz.

Bu adımları tamamladıktan sonra sisteminiz MySQL kurulumu için hazır hale gelecektir.

MySQL APT Deposunu Ekleme

En son MySQL sürümünü kurmanın en güvenilir yolu, MySQL’in resmi APT deposunu kullanmaktır. Bu depo, Ubuntu’nun varsayılan depolarında bulunmayan en güncel kararlı sürümleri doğrudan Oracle’dan sağlar.

MySQL APT Yapılandırma Paketini İndirme

İlk olarak, MySQL APT deposunu sisteminize eklemek için gerekli yapılandırma paketini indireceğiz. Bu paket, hangi MySQL sürümünü kurmak istediğinizi seçmenize olanak tanır.

MySQL APT deposu indirme sayfasına (https://dev.mysql.com/downloads/repo/apt/) giderek en son mysql-apt-config_*.deb paketini bulabilirsiniz. Bu rehber yazıldığı sırada güncel sürüm 0.8.22-1 idi.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

Bu komut, yapılandırma paketini mevcut dizininize indirir.

Depo Yapılandırma Paketini Yükleme

İndirdiğiniz .deb paketini yükleyerek MySQL deposunu sisteminize ekleyin.

sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb

Bu komutu çalıştırdığınızda, interaktif bir menü ile karşılaşacaksınız. Bu menüde, hangi MySQL ürününü kurmak istediğinizi seçmeniz istenir.

1. MySQL Server & Cluster seçeneğini seçin ve Enter tuşuna basın.
2. Ardından, kurmak istediğiniz MySQL Server sürümünü seçin. Genellikle mysql-8.0 varsayılan olarak seçili gelir ve bu en güncel kararlı sürümdür. Başka bir sürüm istiyorsanız (örneğin MySQL 5.7), buradan seçebilirsiniz. Seçiminizi yaptıktan sonra Enter tuşuna basın.
3. Son olarak, Ok seçeneğini seçin ve Enter tuşuna basarak yapılandırmayı tamamlayın.

APT Depolarını Güncelleme

Yapılandırma paketi yüklendikten ve MySQL deposu sisteminize eklendikten sonra, APT paket listelerinizi tekrar güncellemeniz gerekir. Bu, sisteminizin yeni eklenen depodaki MySQL paketlerini tanımasını sağlar.

sudo apt update

Artık sisteminiz, MySQL’in en son sürümünü kurmaya hazır.

MySQL Sunucusunu Kurma

Depo yapılandırması tamamlandıktan sonra, MySQL sunucusunu kurmak oldukça basittir. Tek bir komutla tüm gerekli paketleri yükleyebilirsiniz.

sudo apt install mysql-server -y

Bu komut, MySQL sunucusunu ve gerekli tüm bağımlılıklarını sisteminize yükleyecektir. Kurulum sırasında size birkaç soru sorulabilir:

1. MySQL root kullanıcısı için şifre belirleme: Güçlü bir şifre belirlediğinizden emin olun. Bu şifre, veritabanı sunucunuza yönetici ayrıcalıklarıyla erişmek için kullanılacaktır. Şifreyi iki kez girmeniz istenecektir.
2. Varsayılan kimlik doğrulama yöntemi seçimi:
* “Use Strong Password Encryption for authentication (RECOMMENDED)”: Bu, yeni ve daha güvenli bir kimlik doğrulama yöntemi olan caching_sha2_password eklentisini kullanır. MySQL 8.0’ın varsayılanıdır ve çoğu yeni uygulama tarafından desteklenir.
* “Use Legacy Authentication Method (mysql_native_password)”: Bu, eski MySQL sürümlerinde kullanılan geleneksel kimlik doğrulama yöntemidir. Eğer eski uygulamalarınız varsa ve caching_sha2_password ile sorun yaşıyorlarsa bunu seçebilirsiniz. Ancak güvenlik açısından ilk seçenek önerilir.

Çoğu durumda, önerilen “Strong Password Encryption” seçeneğini seçmeniz en iyisidir. Seçiminizi yapın ve Enter tuşuna basın.

Kurulum tamamlandığında, MySQL sunucusu otomatik olarak başlayacaktır.

MySQL Güvenlik Yapılandırması

MySQL’i kurduktan sonra, veritabanı sunucunuzun güvenliğini sağlamak için mysql_secure_installation betiğini çalıştırmak çok önemlidir. Bu betik, varsayılan güvenlik açıklarını kapatmanıza yardımcı olur.

sudo mysql_secure_installation

Bu komutu çalıştırdığınızda, aşağıdaki adımları sırasıyla gerçekleştirmeniz istenecektir:

1. VALIDATE PASSWORD COMPONENT (Şifre Doğrulama Bileşeni): Bu bileşen, belirlediğiniz root şifresinin güvenliğini test eder ve güçlendirir.
* Would you like to setup VALIDATE PASSWORD component? (Press y|Y for Yes, any other key for No): y veya Y tuşuna basarak bu bileşeni kurmayı kabul edin.
* Ardından, şifre gücü seviyesini seçmeniz istenir: LOW, MEDIUM veya STRONG. MEDIUM genellikle iyi bir denge sunar. Seçiminizi yapıp Enter tuşuna basın.
* Daha önce belirlediğiniz root şifresini girmeniz istenecektir. Şifrenizin gücünü değerlendirecek ve eğer yeterince güçlü değilse değiştirmenizi isteyecektir.
2. Change the password for root?: Root şifrenizi değiştirmek isteyip istemediğiniz sorulur. Genellikle n (hayır) seçeneğini seçebilirsiniz, çünkü kurulum sırasında zaten bir şifre belirlemiştiniz.
3. Remove anonymous users? (Anonim kullanıcıları kaldır): Anonim kullanıcılar, herkesin kullanıcı adı veya şifre olmadan MySQL’e bağlanmasına izin verir. Bu bir güvenlik açığıdır. y veya Y tuşuna basarak bunları kaldırmanız şiddetle tavsiye edilir.
4. Disallow root login remotely? (Root kullanıcısının uzaktan girişini engelle): Root kullanıcısının yalnızca localhost’tan (yerel sunucudan) bağlanmasına izin vermek, güvenliği artırır. Uzaktan root erişimine ihtiyacınız yoksa y veya Y seçeneğini seçin. Eğer uzaktan root erişimine ihtiyacınız varsa, bunun güvenlik risklerini anladığınızdan emin olun ve n seçeneğini kullanın.
5. Remove test database and access to it? (Test veritabanını kaldır): MySQL, varsayılan olarak bir “test” veritabanı ile gelir. Bu veritabanı genellikle güvenlik açığı oluşturmasa da, üretim ortamlarında gereksizdir. y veya Y tuşuna basarak kaldırmanız önerilir.
6. Reload privilege tables now? (Ayrıcalık tablolarını şimdi yeniden yükle): Yapılan değişikliklerin hemen geçerli olması için ayrıcalık tablolarının yeniden yüklenmesi gerekir. y veya Y tuşuna basarak onaylayın.

Bu adımları tamamladığınızda, MySQL sunucunuzun temel güvenlik yapılandırması tamamlanmış olacaktır.

MySQL Servisini Yönetme ve Kontrol Etme

MySQL sunucusu, bir systemd servisi olarak çalışır. Bu, onu standart systemctl komutları ile kolayca yönetebileceğiniz anlamına gelir.

Servis Durumunu Kontrol Etme

MySQL servisinin çalıştığından emin olmak için durumunu kontrol edebilirsiniz:

systemctl status mysql

Çıktıda Active: active (running) ifadesini görmelisiniz. Bu, MySQL sunucusunun sorunsuz çalıştığını gösterir.

Servisi Başlatma, Durdurma ve Yeniden Başlatma

* Başlatma:

sudo systemctl start mysql


* Durdurma:

sudo systemctl stop mysql


* Yeniden Başlatma:

sudo systemctl restart mysql


* Sistem başlangıcında otomatik başlamayı etkinleştirme (varsayılan olarak etkindir):

sudo systemctl enable mysql


* Sistem başlangıcında otomatik başlamayı devre dışı bırakma:

sudo systemctl disable mysql

MySQL’e Bağlanma ve Temel Kullanım

MySQL sunucusu kurulduktan ve yapılandırıldıktan sonra, ona bağlanabilir ve veritabanları oluşturmaya başlayabilirsiniz.

Root Kullanıcısı Olarak Bağlanma

Kurulum sırasında belirlediğiniz şifre ile root kullanıcısı olarak bağlanabilirsiniz:

mysql -u root -p

Bu komutu çalıştırdıktan sonra, MySQL root şifrenizi girmeniz istenecektir. Eğer kurulum sırasında auth_socket kimlik doğrulama yöntemini seçtiyseniz (Ubuntu’nun varsayılan depolarından kurulumda sıkça görülür), şifre girmeden doğrudan bağlanmak için sudo mysql komutunu kullanabilirsiniz. Ancak bu rehberde resmi depodan kurulum yapıldığı ve mysql_secure_installation çalıştırıldığı için şifre tabanlı erişim daha olasıdır.

Şifrenizi doğru girdiğinizde, MySQL komut istemine düşeceksiniz (mysql>).

Veritabanı Oluşturma

Yeni bir veritabanı oluşturmak için aşağıdaki komutu kullanın:

CREATE DATABASE mydatabase;

mydatabase yerine kendi veritabanı adınızı yazın.

Yeni Bir Kullanıcı Oluşturma ve Yetkilendirme

Uygulamalarınız için doğrudan root kullanıcısını kullanmak yerine, her veritabanı için ayrı bir kullanıcı oluşturmak ve ona sadece gerekli yetkileri vermek iyi bir güvenlik uygulamasıdır.

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'MyStrongPassword!';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

* CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'MyStrongPassword!';: myuser adında, sadece localhost‘tan bağlanabilen ve MyStrongPassword! şifresine sahip yeni bir kullanıcı oluşturur.
GRANT ALL PRIVILEGES ON mydatabase. TO 'myuser'@'localhost';: myuser‘a mydatabase veritabanındaki tüm tablolar üzerinde tam yetki verir. İhtiyacınıza göre ALL PRIVILEGES yerine SELECT, INSERT, UPDATE, DELETE gibi daha kısıtlı yetkiler verebilirsiniz.
* FLUSH PRIVILEGES;: Yetki tablolarını yeniden yükleyerek değişikliklerin hemen geçerli olmasını sağlar.

MySQL Komut İstemi’nden Çıkış

MySQL komut isteminden çıkmak için:

EXIT;

Sonuç ve Sıkça Sorulan Sorular (SSS)

Tebrikler! Ubuntu 20.04 sunucunuza MySQL’in en son sürümünü başarıyla yüklediniz ve temel güvenlik yapılandırmalarını tamamladınız. Artık uygulamalarınızı bu güçlü veritabanı sunucusuyla entegre etmeye hazırsınız. Unutmayın, veritabanı güvenliği sürekli bir süreçtir ve düzenli yedeklemeler almak her zaman önemlidir.

Sıkça Sorulan Sorular (SSS)

MySQL root şifremi unuttum, ne yapmalıyım?


MySQL root şifrenizi unuttuysanız, MySQL sunucusunu güvenli modda başlatarak şifreyi sıfırlayabilirsiniz. Bu genellikle MySQL servisini durdurmayı, skip-grant-tables seçeneğiyle yeniden başlatmayı, şifreyi değiştirmeyi ve ardından servisi normal şekilde yeniden başlatmayı içerir. Bu işlem hassas olduğundan, dikkatli bir şekilde adımları takip eden bir rehber bulmanız önerilir.

MySQL’e uzaktan bağlanamıyorum, neden?


Uzaktan bağlantı sorunlarının birkaç yaygın nedeni vardır:

  1. bind-address yapılandırması: MySQL varsayılan olarak yalnızca localhost‘tan gelen bağlantılara izin verecek şekilde yapılandırılmış olabilir. Bu ayarı değiştirmek için /etc/mysql/mysql.conf.d/mysqld.cnf dosyasını düzenleyerek bind-address = 127.0.0.1 satırını bind-address = 0.0.0.0 olarak değiştirmeniz veya yorum satırı yapmanız gerekebilir. Değişiklikten sonra MySQL servisini yeniden başlatın.
  2. Güvenlik Duvarı (Firewall): Ubuntu’da UFW (Uncomplicated Firewall) etkinse, MySQL’in varsayılan portu olan 3306’ya gelen bağlantıları engelliyor olabilir. Uzaktan erişime izin vermek için sudo ufw allow 3306/tcp komutunu çalıştırmanız gerekebilir.
  3. Kullanıcı yetkileri: Uzaktan bağlanmaya çalışan kullanıcının @'localhost' yerine @'%' (herhangi bir host) veya belirli bir IP adresinden bağlanma yetkisi olması gerekir. Örneğin: CREATE USER 'myuser'@'%' IDENTIFIED BY 'MyStrongPassword!'; veya GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'192.168.1.100';

Ubuntu’nun varsayılan deposundaki MySQL ile bu rehberdeki kurulumun farkı ne?


Ubuntu’nun varsayılan depoları genellikle MySQL’in kararlı, ancak genellikle en son sürümü olmayan bir sürümünü içerir. Bu rehberdeki kurulum, MySQL’in resmi APT deposunu kullanarak doğrudan Oracle tarafından sağlanan en güncel kararlı sürümü (örneğin MySQL 8.0’ın en son nokta sürümü) yüklemenizi sağlar. Bu, daha yeni özelliklere, performans iyileştirmelerine ve güvenlik yamalarına daha hızlı erişim anlamına gelir.

MySQL sürümünü nasıl kontrol ederim?


MySQL sürümünüzü kontrol etmek için MySQL komut istemine bağlanıp aşağıdaki komutu çalıştırabilirsiniz:

mysql -u root -p -e "SELECT VERSION();"


Veya MySQL komut istemine girdikten sonra:

mysql> SELECT VERSION();


Ayrıca, sistem paket yöneticisi aracılığıyla da kontrol edebilirsiniz:

apt show mysql-server | grep Version

Kurulum sırasında “Auth_socket” nedir?


auth_socket (veya unix_socket) bir kimlik doğrulama eklentisidir. Bu eklenti kullanıldığında, MySQL, bir kullanıcının Linux sistemindeki kullanıcı adının ve çalıştığı sürecin kimliğini doğrudan eşleştirerek kimlik doğrulaması yapar. Yani, sisteminizdeki root kullanıcısı olarak MySQL’e bağlanmaya çalıştığınızda, MySQL root kullanıcısının sistem kimliğini kontrol eder ve eşleşirse şifre sormadan doğrudan erişim sağlar. Bu, yerel erişim için kullanışlı ve güvenli bir yöntemdir, ancak uzaktan bağlantılara izin vermez.

mysql_secure_installation çalıştırmak zorunlu mu?


mysql_secure_installation çalıştırmak kesinlikle zorunlu değildir, ancak şiddetle tavsiye edilir. Bu betik, varsayılan olarak gelen birçok güvenlik açığını (anonim kullanıcılar, uzaktan root girişi, test veritabanı gibi) kapatır. Bu adımı atlamak, veritabanı sunucunuzu potansiyel güvenlik risklerine karşı savunmasız bırakabilir. Bu nedenle, her yeni MySQL kurulumundan sonra bu betiği çalıştırmak en iyi uygulamadır.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.