Bir veritabanı sunucusunun temel amacı, veritabanı yönetim sisteminin (DBMS) özelliklerini sağlamaktır. Teknik terimlerle, bir VTYS, veritabanı yönetimi için yardımcı programlar sağlar ve son kullanıcılar, uygulamalar ve veritabanları ile etkileşime girer. Bu yazımızda Debian Linux üzerinde MariaDB veri tabanı yönetim sistemi kurulumunu ele alacağız.
MariaDB sunucusu, MySQL teknolojisine dayalı, kullanımı ücretsiz ve açık kaynaklı, sağlam ve hızlı bir veritabanı sunucusudur. MariaDB ilişkisel veritabanı olması, verileri yapılandırılmış bilgilere dönüştürür ve depolanan verilere erişmek için SQL arayüzü sağlar. MariaDB’ye birden fazla depolama motoru ve eklentinin yanı sıra coğrafi bilgi sistemi (GIS) ve JavaScript Object Notation (JSON) özellikleri için destek dahildir.
Bu kılavuzda yer alan kısımlar, MariaDB 10.8’in Debian 11 ve Debian 10 sistemlerinde nasıl kurulacağını ve yapılandırılacağını açıklamaktadır. MariaDB verilerinin nasıl yedekleneceğini veya daha önceki bir MariaDB sürümünden geçişin nasıl yapılacağını ele almayacağız. Bu makalede vurgulanan adımlar yalnızca yeni sunucu kurulumları içindir.
MariaDB 10.8’i Debian 11 ve Debian 10’a Yükleyin
Debian Linux sisteminde, MariaDB sunucusu, her biri yukarı akış deposu tarafından sağlanan aşağıdaki sürümlerde mevcuttur:
### Debian 11 ###
$ apt policy mariadb-server
mariadb-server:
Installed: (none)
Candidate: 1:10.5.15-0+deb11u1
Version table:
1:10.5.15-0+deb11u1 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
### Debian 10 ###
$ apt policy mariadb-server
mariadb-server:
Installed: (none)
Candidate: 1:10.3.34-0+deb10u1
Version table:
1:10.3.34-0+deb10u1 500
500 http://deb.debian.org/debian buster/main amd64 Packages
1:10.3.25-0+deb10u1 500
500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
Çıktıdan da anlaşılacağı gibi, MariaDB sunucu paketlerinin sürümleri biraz daha eski. En son kararlı sürüm MariaDB 10.8’dir. MariaDB sunucusunun ve istemcisinin bu sürümü yalnızca resmi proje APT deposundan veya kaynaktan oluşturularak elde edilebilir. Basit olduğu için ikincisiyle gideceğiz.
1. Adım: MariaDB APT Deposu Ekleyin
Devam etmeden önce Debian sisteminizi güncelleyin.
sudo apt update && sudo apt -y full-upgrade
[ -f /var/run/reboot-required ] && sudo reboot -f
Güncellemelere bağlı olarak sisteminiz yeniden başlatılabilir. Çevrimiçi olduğunda, depoyu yapılandırmaya devam edin
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.8
Depo ekleme işlemi birkaç saniye sürebilir.
# [info] Checking for script prerequisites.
# [info] MariaDB Server version 10.8 is valid
# [info] Repository file successfully written to /etc/apt/sources.list.d/mariadb.list
# [info] Adding trusted package signing keys...
# [info] Running apt-get update...
# [info] Done adding trusted package signing keys
Eklenen deponun çalıştığını onaylayın.
sudo apt update
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 http://deb.debian.org/debian bullseye-backports InRelease
Hit:5 https://downloads.mariadb.com/Tools/debian bullseye InRelease
Get:6 https://dlm.mariadb.com/repo/mariadb-server/10.8/repo/debian bullseye InRelease [4634 B]
Get:7 https://dlm.mariadb.com/repo/maxscale/latest/apt bullseye InRelease [6387 B]
Fetched 11.0 kB in 1s (13.2 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
2. Adım: MariaDB 10.8’i Debian 11 ve Debian 10’a Yükleyin
Sistemimize yeni eklediğimiz mariadb deposundan MariaDB sunucu paketlerini kurun.
sudo apt install mariadb-server mariadb-client
Klavyenizdeki y tuşuna basarak kuruluma devam edin:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
galera-4 libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdbd-mariadb-perl libdbi-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-template-perl libterm-readkey-perl
mariadb-client-10.8 mariadb-client-core-10.8 mariadb-common mariadb-server-10.8 mariadb-server-core-10.8 rsync socat
Suggested packages:
libmldbm-perl libnet-daemon-perl libsql-statement-perl libipc-sharedcache-perl mariadb-test
The following NEW packages will be installed:
galera-4 libcgi-fast-perl libcgi-pm-perl libconfig-inifiles-perl libdbd-mariadb-perl libdbi-perl libfcgi-bin libfcgi-perl libfcgi0ldbl libhtml-template-perl libterm-readkey-perl mariadb-client
mariadb-client-10.8 mariadb-client-core-10.8 mariadb-server mariadb-server-10.8 mariadb-server-core-10.8 rsync socat
The following packages will be upgraded:
mariadb-common
1 upgraded, 19 newly installed, 0 to remove and 2 not upgraded.
Need to get 27.6 MB/27.6 MB of archives.
After this operation, 215 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Komutları kullanarak kurulu paketler hakkında daha fazla bilgi alabilirsiniz:
apt info mariadb-server
Package: mariadb-server
Version: 1:10.8.3+maria~bullseye
Priority: optional
Section: database
Source: mariadb-10.8
Maintainer: MariaDB Developers <[email protected]>
Installed-Size: 10.2 kB
Depends: mariadb-server-10.8 (>= 1:10.8.3+maria~bullseye)
Homepage: https://mariadb.org/
Download-Size: 2836 B
APT-Manual-Installed: yes
apt policy mariadb-server
mariadb-server:
Installed: 1:10.8.3+maria~bullseye
Candidate: 1:10.8.3+maria~bullseye
Version table:
*** 1:10.8.3+maria~bullseye 1000
1000 https://dlm.mariadb.com/repo/mariadb-server/10.8/repo/debian bullseye/main amd64 Packages
1000 https://dlm.mariadb.com/repo/mariadb-server/10.8/repo/debian bullseye/main arm64 Packages
100 /var/lib/dpkg/status
1:10.8.2+maria~bullseye 1000
1000 https://dlm.mariadb.com/repo/mariadb-server/10.8/repo/debian bullseye/main amd64 Packages
1000 https://dlm.mariadb.com/repo/mariadb-server/10.8/repo/debian bullseye/main arm64 Packages
1:10.5.15-0+deb11u1 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
3. Adım: Hizmeti Başlatın ve MariaDB Sunucusunu Güvenli Hale Getirin
Terminalinizde aşağıdaki komutları çalıştırarak mariadb hizmetini başlatın:
sudo systemctl start mariadb.service
Açılışta başlamak için mariadb hizmetini etkinleştirin:
sudo systemctl enable mariadb.service
Kurulumdan sonra aşağıdaki komutu çalıştırarak MariaDB güvenliğinizi geliştirmeniz de önerilir:
sudo mariadb-secure-installation
Az önce yürüttüğümüz komut, süreçteki her adımı isteyen tamamen etkileşimli bir komut dosyası başlatır. Komut dosyası, güvenliği aşağıdaki şekillerde geliştirmenizi sağlar:
- Kök hesaplar için bir parola belirleme
- Anonim kullanıcıları kaldırma
- Uzak kök oturum açmalarına izin vermeme (yerel ana bilgisayarın dışında)
Aşağıdaki girdilerimize bakın:
Enter current password for root (enter for none): <ENTER>
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] y
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] y
MySQL kök kabuğuna erişmenin tek yolu parola doğrulamasıdır.
mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 43
Server version: 10.8.3-MariaDB-1:10.8.3+maria~bullseye mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Veritabanı durumunuzu gösterin
MariaDB [(none)]> \s
--------------
mysql Ver 15.1 Distrib 10.8.3-MariaDB, for debian-linux-gnu (x86_64) using readline EditLine wrapper
Connection id: 43
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.8.3-MariaDB-1:10.8.3+maria~bullseye mariadb.org binary distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /run/mysqld/mysqld.sock
Uptime: 9 min 41 sec
Threads: 1 Questions: 91 Slow queries: 0 Opens: 33 Open tables: 26 Queries per second avg: 0.156
--------------
MariaDB [(none)]>
4. Adım MariaDB Veritabanı Sunucusunu Yapılandırma
MariaDB sunucu yapılandırma dosyası /etc/mysql/mariadb.conf.d/50-server.cnf
‘dir. Aynı dosyada aşağıdaki yapılandırma yönergelerini ayarlayabilirsiniz:
bağlama adresi – MariaDB sunucusunun dinlediği adresi ayarlama. Bunun için olası değerler şunlardır:
- IPv4 adresi
- IPv6 adresi
- bir ana bilgisayar adı
atlama ağı – MariaDB sunucusunun TCP/IP bağlantılarını dinleyip dinlemediğini kontrol etmek için kullanılır. Olası değerler şunlardır:
- 0 – tüm istemcileri dinlemek için
- 1 – yalnızca yerel istemcileri dinlemek için
bağlantı noktası -MariaDB sunucunuzun TCP/IP bağlantılarını dinlediği bağlantı noktası.
Dosyada yapılan herhangi bir yapılandırma değişikliği için MariaDB sunucusunun yeniden başlatılması gerekir.
sudo systemctl restart mariadb.service
Kapanış
Diğer birçok parametre MariaDB sunucu yapılandırma dosyasında ayarlanabilir. Bu yazıda size MariaDB 10.8 kurulumunun Debian 11 ve Debian 10 Linux sistemi üzerinde nasıl yapılabileceğini gösterdik.