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 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