Ubuntu 18.04 Üzerinde MySQL Nasıl Kurulur?

MySQL, popüler LAMP/LEMP yığınlarının bir parçası olarak kurulan açık kaynak bir veritabanı yönetim sistemidir. Verilerini yönetmek için ilişkisel bir veritabanı ve SQL (Yapısal Sorgu Dili) kullanır.

Yükleme işlemi basittir: paket dizininizi güncelleyin, mysql-server paketini yükleyin ve ardından entegre gelen güvenlik komut dosyasını çalıştırın.

Kurulum sırasında yalnızca şu 4 komutu kullanacağız;

sudo apt update
sudo apt-get upgrade -y
sudo apt install mysql-server -y
sudo mysql_secure_installation

Ön şartlar

  • Ubuntu 18.04 kurulu bir sunucu (DigitalOcean ve Vultr tavsiyemdir)
  • SSH erişimi olan bir sudo ya da root kullanıcısı

Adım 1 - MySQL Kurulumu

Ubuntu 18.04’te, APT paket deposuna varsayılan olarak yalnızca MySQL’in en son sürümü dahil edilir. Bu makaleyi hazırlarken bu sürüm 5.7’dir.

Yüklemek için sunucunuzdaki paket dizinini aşağıdaki komutla güncelleyin;

sudo apt update
sudo apt-get upgrade -y

Ardından varsayılan mysql-server paketini yükleyin:

sudo apt install mysql-server -y

Bu komutlar MySQL’i yükler, ancak sizden bir parola belirlemenizi veya başka yapılandırmalar, değişiklikler yapmanızı istemez. Varsayılan yapılandırma, MySQL yüklemenizi güvensiz bıraktığından, mysql-server paketinin sunucuya uzaktan erişimi kısıtlamak ve kullanılmayan hesapları kaldırmak için bize sağladığı bir komut dosyasını kullanacağız.

Adım 2 - MySQL’i Yapılandırma

Yeni MySQL kurulumları için bir sonraki adım, içerilen güvenlik komut dosyasını çalıştırmaktır. Bu komut dosyası, daha az güvenli varsayılan seçeneklerden bazılarını değiştirir. Uzak kök girişlerini engellemek ve kullanılmayan veritabanı kullanıcılarını kaldırmak için kullanacağız.

Güvenlik komut dosyasını çalıştırın:

sudo mysql_secure_installation

Bu komut dosyası sizi MySQL kurulumunuzda bazı değişiklikler yapabileceğiniz bir dizi bilgi istemine götürür.

Şu ekran sizi karşılayacaktır;

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

Y ardından ENTER tuşuna basın .

Sonrasında şu ekranı göreceksiniz;

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

2 ardından ENTER tuşuna basın .

Sizden bir şifre belirlemeniz istenecek. Bir büyük harf, bir rakam, bir küçük harf ve bir özel sembol içeren uzun şifre belirleyiniz ve aynısını tekrar giriniz.

Şöyle bir ekran görünecek;

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : 

Bu işlemi ve takip eden soruların varsayılanlarını kabul etmek için Y ve Enter tuşlarına basabilirsiniz. Bu takip eden istemler, anonim kullanıcıları ve test veritabanını kaldıracak, uzaktan kök oturum açmayı devre dışı bırakacak ve MySQL’in yaptığınız değişikliklere hemen uyması için bu yeni kuralları yazılıma yükleyecektir.

İşlem bittiğinde, alttaki komutu yazarak MySQL konsoluna giriş yapın:

sudo mysql

Şöyle bir ekran görmelisiniz;

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Bu komut ile, MySQL sunucusuna yönetimsel veritabanı kullanıcı kökü olarak bağlanırsınız.

Kök kullanıcı olarak bağlanmak için bir parola girmeniz gerekmediğine dikkat edin . Bu unix_socket yerine, yönetimsel MySQL kullanıcısı için varsayılan kimlik doğrulama yöntemi olan şifreniz yerine kullanılır. Bu ilk başta bir güvenlik sorunu gibi görünse de, veritabanı sunucusunu aslında daha güvenli bir hale getirir, çünkü kök MySQL kullanıcısı olarak oturum açmasına izin verilen kullanıcılar zaten sudo ayrıcalıklarına sahip sistem kullanıcılarıdır. Kısacası aynı ayrıcalıklardır :slight_smile: Pratik olarak ise, PHP uygulamanızdan bağlanmak için yönetici veritabanı kök kullanıcısını kullanamayacağınız anlamına gelir.

Sonuç

Bu kılavuzda, SQL sunucusu olarak MySQL’i yüklediniz. Yükleme işlemi sırasında sunucuyu da güvenlik altına aldınız.

Herhangi bir sorunla karşı karşıyaysanız, bu makaleyi yanıtlamaktan çekinmeyin :point_down: