CentOS 7’de MySQL Kurulumu

CentOS 7’de MySQL Kurulumu

MySQL, internet sitesi ve sunucu uygulamaları arasında en yaygın olarak kullanılan veritabanı yönetim sistemlerinden birisidir. Her web sahibinin öğrenmesi gereken önemli bir araçtır. Bu rehberimizde SSH bağlantısıyla CentOS 7 üzerinde MySQL kurulumu nasıl yapılır göstereceğiz.

CentOS 7 Sunucusu üzerinde MySQL Nasıl Kurulur?

MySQL yüklemeyi istediğinizde üç adımı tamamlamanız gerekir. Bu adımlar MySQL deposunu indirmek, yülemek ve durumunu kontrol etmektir. Her adımın üzerinden daha detaylı bir biçimde geçeceğiz.

1. MySQL Deposunu (repository) İndirme ve Hazırlama

CentOS 7 üzerinde MySQL nasıl kurulur öğrenmeye başlamadan önce VPS veya fiziksel sunucunuzun CentOS 7 üzerinde çalıştığından ve root erişimine sahip olduğunuzdan emin olun. Bu rehberimizi takip ederek sunucunuza SSH aracılığıyla nasıl bağlanacağınızı öğrenebilirsiniz.

  1. Aşağıdaki komutu girerek sisteminizi güncellemeniz gerekir:
    sudo yum update
  2. Sistem güncellendikten sonra sırada MySQL deposunu indirmek var. Diğer depo versiyonlarına buradan göz atabilirsiniz.
    sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  3. İndirmenin sonunda .rpm adlı bir dosyanın kaydedildiğine dair bir onay mesajı görmelisiniz.
    CentOS 7'de MySQL 8'i indirme.
  4. Şimdiyse depoyu ondan daha sonra MySQL depoları yükleyebilmek için hazırlamak var. Bunun için aşağıdaki komutu girin:
    sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
  5. Sonuç güncellemenin ve kurulumun tamamlandığını belirttikten sonra MySQL yükleyebileceksiniz.

2. MySQL Kurulumu

  1. MySQL’i kurmak için aşağıdaki yum install komutunu kullanın:
    sudo yum install mysql-server
  2. Bu script size paketlerin listesini gösterecek ve onları indirip ve kurmak için onayınızı isteyecektir. y‘ye basın ve isteklerin her biri için ENTER‘a basın.
    CentOS 7'de MySQL kurulumu
  3. Bunu birkaç kere yapmanız gerekecek ancak kurulumun sonunda Complete! mesajını göreceksiniz. Bunun anlamı MySQL’i sunucunuzda başarıyla kurdunuz demektir.

3. MySQL’i Başlatma ve Durumunu Kontrol Etme

  1. MySQL, kurulumdan hemen sonra başlamıyor ve başlatmak için aşağıdaki komutu girmelisiniz::
    sudo systemctl start mysqld
  2. MySQL başladıktan sonra herhangi bir yanıt almayacaksınız. Doğru bir şekilde çalışıp çalışmadığını görmek için bu komutu kullanın:
    sudo systemctl status mysqld
  3. MySQL durum bilgisi gösterilecektir:
    Linux CentOS'da MySQL kurulumundan sonra durumunu kontrol etme

Eğer MySQL‘in yukarıdaki ekran görüntüsünde olduğu gibi aktif ve çalışıyor olduğunu görüyorsanız, MySQL sunucunuzda başarıyla kuruldu ve başlatıldı demektir.

MySQL Nasıl Yapılandırılır?

MySQL’i başarıyla kurduğunuz ve çalıştırdığınıza göre size sırada MySQL işe çalışırken kullanışlı olabilecek bazı komutları ve iyileştirmeleri göstereceğiz.

MySQL Root Kullanıcısının Şifresini Değiştirme

MySQL’i CentOS 7’de kurarken geçici bir root şifresi üretilir. Bu şifreyi görmek için aşağıdaki komutu girin:

sudo grep 'password' /var/log/mysqld.log

Bu şifreyi değiştirmek için aşağıdaki komutları takip edin:

  1. İlk önce bu komutu çalıştırın:
    sudo mysql_secure_installation
  2. Geçici şifreyi girdikten sonra aşağıdaki mesaj gözükecektir:
    The existing password for the user account root has expired. Please set a new password.
    New password:
    Re-enter new password:
  3. Şimdiyse güçlü bir şifre seçin ve girin.

ÖNERİ: Güçlü bir şifre 8-12 karakter uzunluğundadır ve rakamlar, özel karakterler, küçük ve büyük harfler içerir.

  • Ekranınızda gözüken talimatları takip edin ve kurulumu bitirmek için tuşuna basın. Tebrikler, başarıyla root kullanıcısı şifresini değiştirmiş oldunuz!
  • Mevcut MySQL Sürümünü Kontrol Etme

    MySQL’i CentOS 7’de yükledikten sonra her şeyin doğru bir şekilde gittiğinden emin olmak için sürümünü kontrol edebilirsiniz. Aşağıdaki komutu girin:

    mysql -u root -p
    

    Oluşturduğunuz root şifresini girince yanıt aşağıdaki gibi olacaktır:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 22
    Server version: 8.0.20
    
    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.
    

    MySQL Root Şifresini Sıfırlama

    Eğer şifrenizi sıfırlamak istiyorsanız bu işlem oldukça basittir. MySQL root şifresini değiştirmek için aşağıdaki adımları takip edin

    1. MySQL sunucusunu bu komutla durdurun:
      sudo systemctl stop mysqld
    2. MySQL‘i güvenli modda veya bir şifre girmeden bu komutla çalıştırın:
      sudo mysqld_safe --skip-grant-tables
    3. Eğer MySQL sunucusu başladı ancak asılı kaldı gibi görünüyorsa ENTER tuşuna basın.
    4. Aşağıdaki komutu kullanarak MySQL’i yeniden root olarak bağlanın:
      mysql -uroot
    5. Root şifresini değiştirmek için aşağıdaki komutları kullanın:
      USE MYSQL;
      UPDATE USER SET PASSWORD=PASSWORD(“yenisifre”) WHERE USER=’root’;
      FLUSH PRIVILEGES;
      EXIT
    6. yenisifre kısmını kendinize ait güçlü bir şifreyle değiştirin.
    7. Son olarak bu komutu kullanarak MySQL’i yeniden başlatın:
      sudo systemctl start mysqld
    8. Artık MySQL’e yeni şifrenizle bağlanabilirsiniz.

    Yeni Bir MySQL Kullanıcısı ve Veritabanı Oluşturma

    MySQL’de root kullanıcısı olarak bütün veritabanlarına erişiminiz bulunmaktadır.

    Ancak bir takım içinde çalışıyorsanız bazı kısıtlamalar getirmenizi gerektiren durumlar olabilir. Bunun içinse ya yeniden bir veritabanı ya da özel izinlere sahip kullanıcılar oluşturmanız gerekecektir.

    İşte bu sorunun hızlı bir çözümü:

    1. Aşağıdaki komutu kullanarak yeni bir veritabanı oluşturun:
      CREATE DATABASE yenidb
    2. yenidb yerine veritabanının adını girin.
    3. Aşağıdaki satırla yeni bir kullanıcı oluşturun:
      CREATE USER 'kullaniciadi'@'localhost' IDENTIFIED BY 'sifre'
    4. Hem kullaniciadi, hem de sifre için değişkenleri değiştirin.
    5. Eğer bir kullanıcıyı silmek isterseniz de bu komutu kullanın:
      DROP USER ‘kullaniciadi’@‘localhost’

    MySQL Kullanıcısı İzinlerini Yönetme

    Yeni kullanıcıya bir veritabanına erişimi bu komutla verebilirsiniz:

    GRANT ALL PRIVILEGES ON yenidb.* TO 'kullaniciadi'@'localhost'
    

    Ayrıca aşağıdakiler dahil olmak üzere ayrı ayrı izinler de verebilirsiniz:

    • SELECT – kullanıcılar select komutunu kullanarak veritabanını okuyabilir
    • CREATE – yeni tablolar oluşturabilirler
    • DROP – kullanıcıların tabloları silmelerini izin verir
    • DELETE – kullanıcılar tablolardan dizileri silebilir
    • INSERT – kullanıcıların tablolara dizi eklemesine izin verir
    • UPDATE – dizileri güncellemelerine izin verir
    • GRANT OPTION – diğer kullanıcılara izin ekleyebilir veya izinlerini silebilir

    Örneğin CREATE izni için girmeniz gereken komut:

    GRANT CREATE ON yenidn.* TO 'kullaniciadi'@'localhost'
    

    Eğer bir kişinin erişimini kaldırmak istiyorsanız:

    REVOKE permission_type ON yenidb.* TO 'kullaniciadi'@'localhost'
    

    Ayrıca bir kullanıcının mevcut izinleri görmek için:

    SHOW GRANTS kullaniciadi
    

    Son olarak kullanıcıları yönetme işlemini tamamladıktan sonra yaptığınız değişikliklerin uygulanması için bütün izinleri sıfırlamak iyi bir fikir olacaktır:

    FLUSH PRIVILEGES
    

    Diğer Kullanışlı MySQL Komutları

    MySQL, başka birçok kullanışlı komutların bir listesine sahiptir. Aşağıdaki listeyi görüntülemek için /h veya help komutunu girmelisiniz:

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (\?) `help' komutu ile aynı işlevi görür.
    clear     (\c) Temizleme komutu.
    connect   (\r) Reconnect to the server. Optional arguments are db and host.
    delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
    edit      (\e) Edit command with $EDITOR.
    ego       (\G) Send command to mysql server, display result vertically.
    exit      (\q) Exit mysql. Same as quit.
    go        (\g) Send command to mysql server.
    help      (\h) Display this help.
    nopager   (\n) Disable pager, print to stdout.
    notee     (\t) Don't write into outfile.
    pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
    print     (\p) Print current command.
    prompt    (\R) Change your mysql prompt.
    quit      (\q) Quit mysql.
    rehash    (\#) Rebuild completion hash.
    source    (\.) Execute an SQL script file. Takes a file name as an argument.
    status    (\s) Get status information from the server.
    system    (\!) Execute a system shell command.
    tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
    use       (\u) Use another database. Takes database name as argument.
    charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings  (\W) Show warnings after every statement.
    nowarning (\w) Don't show warnings after every statement.
    
    For server side help, type 'help contents'
    mysql>
    

    Sonuç

    Bu rehberimizde bir CentOS 7 sunucusunda MySQL kurulumu nasıl yapılır öğrenmiş oldunuz. MySQL’i sunucunuzda kurarak veritabanlarınızı depolayabilir ve etkili bir biçimde yönetebilirsiniz.

    Diğer VPS rehberlerimize de göz atmayı unutmayın ve herhangi bir sorunuz varsa aşağıdaki yorumlar kısmında bizimle paylaşın.

    Author
    Yazar

    Gürkan M.

    Gürkan, Amerikan Kültürü ve Edebiyatı mezunu ve Hostinger’da pazarlama asistanı olarak içerik yönetimi, dijital pazarlama ve çevirilerden sorumlu. Küçük yaşta tanışıp o günden bu yana hayatının büyük bir parçası olan internette web geliştirme ve özel olarak WordPress konularıyla yakından ilgileniyor. Ayrıca, pervasız bir gamer.