MariaDB, MySQL’in kaynak kodundan türemiş, ücretsiz olarak kullanılabilen, geliştirilmesi ve bakımı topluluk tarafından yapılan veri tabanı yönetim sistemidir. MySQL, Oracle tarafından satın alındıktan sonra, geliştiricileri tarafından yine açık kaynaklı olarak MariaDB adıyla yola devam etmişlerdir.
Bu yazımda size MariaDB 10.7.3 kurulumunu anlatacağım. Kurulumu RHEL 8.5’te yaptım. Fakat tüm RHEL 8x ve türevleri için geçerlidir. En güncel sürüm için https://mariadb.org/ adresini kontrol edin.
MariaDB yum reposu erişimi için, /etc/yum.repos.d/ dizinin altına MariaDB.repo dökümanını oluşturun.
$ vi /etc/yum.repos.d/MariaDB.repo
ve aşağıdaki satırları bu dökümana ekleyin.
# MariaDB 10.7 RedHat repository list - created UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://ftp.bme.hu/pub/mirrors/mariadb/yum/10.7/rhel8-amd64
module_hotfixes=1
gpgkey=https://ftp.bme.hu/pub/mirrors/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
MariaDB 10.7.3’ü sisteme indiriyor ve servisi başlatıyoruz.
$ dnf install MariaDB-server
$ systemctl start mariadb
MariaDB durumunun kontrolünü sağlıyoruz. Aradığımız cevap Active: active (running)
$ systemctl status mariadb
MariaDB kurulumunu yapıyoruz. Kurulum sırasında sizden bi’kaç onay isteyecek kendi kurulumunuza göre gerekli seçimleri yapın. Benim bu kurulum sırasında vermiş olduğum cevaplar aşağıda olduğu gibidir.
$ mariadb-secure-installation
Switch to unix_socket authentication [Y/n] Y
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] n
MariaDB’yi sistem başlangıcına ekliyor ve servise giriş yapıyoruz.
$ systemctl enable mariadb
$ mysql -uroot -p
Yeni veritabanı oluşturmak için aşağıdaki komutu kullanabilirsiniz.
> create database DATABASE_NAME character set utf8mb4 collate utf8mb4_bin;
Yeni veritabanı kullanıcısı oluşturmak için aşağıdaki komutu kullanabilirsiniz.
> create user DATABASE_USER_NAME@localhost identified by 'DATABASE_USER_PASSWORD';
Bir veritabanı ile ilgili tüm izinleri, veritabanı kullanıcısına atamak için aşağıdaki komutu kullanabilirsiniz.
> grant all privileges on DATABASE_NAME.* to DATABASE_USER_NAME@localhost;
Varsayılan olarak gelen Mysql dizinini değiştirmek (Opsiyonel)
MariaDB’yi durduruyoruz ve kontrolünü sağlıyoruz. Aradığımız cevap Active: inactive (dead)
$ systemctl stop mariadb
$ systemctl status mariadb
Database için kök dizinde yeni bir klasör oluşturun.
$ mkdir -p FOLDER_NAME/FOLDER_NAME/
MariaDB’nin varsayılan dizininin kontrolünü sağlıyoruz.
$ mysql -u root -p
> select @@datadir;
> quit;
Varsayılan dizindeki her şeyi, oluşturduğunuz yeni dizine aktarın.
$ rsync -av /var/lib/mysql FOLDER_NAME/FOLDER_NAME/
Eğer sisteminizde Rsync bulunmuyorsa aşağıdaki komutla kurulumunu gerçekleştirebilirsiniz.
$ dnf install rsync
MariaDB’nin varsayılan dizini yedekliyoruz.
$ mv /var/lib/mysql /var/lib/mysql.bak
Config dosyasını yeni dizinimizi belirtmek için düzenliyoruz.
$ vi /etc/my.cnf
ve aşağıdaki satırları bu dökümana ekleyin, [client-server] kısmını pasif hale getirin.
[mysqld]
datadir=/FOLDER_NAME/FOLDER_NAME/mysql
socket=/FOLDER_NAME/FOLDER_NAME/mysql/mysql.sock
[client]
port=3306
socket=/FOLDER_NAME/FOLDER_NAME/mysql/mysql.sock
#[client-server]
MariaDB’yi çalıştırın ve durumunu kontrol edin. Aradığımız cevap Active: active (running)
$ systemctl start mariadb
$ systemctl status mariadb
MariaDB’nin yeni dizininin kontrolünü sağlıyoruz.
$ mysql -u root -p
> select @@datadir;
> quit;
MariaDB repo dosyasını kaldırmak için aşağıdaki adımları izleyin.
$ cd /etc/yum.repos.d/
$ ls
$ rm MariaDB.repo