MariaDB kwenye Linux: Ni Nini, Jinsi ya Kuisanidi (Ubuntu/CentOS/Debian), na Usanidi Salama

1. MariaDB ni Nini?

Muhtasari na Sifa Muhimu za MariaDB

MariaDB ni mfumo wa usimamizi wa hifadhidata wa uhusiano wa chanzo huria (RDBMS). Imeandaliwa kwa msingi wa MySQL na imekubaliwa sana katika mifumo na programu nyingi kutokana na ulinganifu wake mkubwa.

Awali, baada ya Oracle kununua MySQL, baadhi ya wasanidi wake walitenga na kuzindua mradi wa MariaDB. Kwa sababu hiyo, MariaDB inabaki na seti ya amri na miundo ya data inayofanana na MySQL huku ikisisitiza uwazi na uwazi katika muundo wake.

MariaDB ni bure kutumia na inaunga mkono matumizi mengi kwa matumizi ya kibiashara na yasiyo ya kibiashara. Hasa, ina rekodi nzuri katika mazingira ya seva za Linux na inaheshimiwa sana kwa uthabiti, utendaji, na usalama.

Tofauti kati ya MySQL

MariaDB na MySQL ni karibu sana, na amri nyingi pamoja na faili za usanidi zinaweza kutumika kama ilivyo. Hata hivyo, kuna tofauti kadhaa muhimu.

  • Tofauti za leseni Kwa sababu MySQL imetengenezwa na kudhibitiwa na Oracle, vikwazo vya leseni vinaweza kutumika katika baadhi ya hali za matumizi ya kibiashara. MariaDB, kwa upande mwingine, imejengwa juu ya GPL (Leseni ya Umma ya GNU), ikiruhusu matumizi yanayobadilika zaidi.
  • Kasi ya maendeleo na mbinu inayosukumwa na jamii MariaDB inatengenezwa kikamilifu kwa njia inayosukumwa na jamii na inaelekea kuanzisha vipengele vipya haraka zaidi. Inajivunia hasa katika vipengele vinavyolenga biashara (kama chaguo za injini za hifadhi na uboreshaji wa utendaji).
  • Uwezo wa kupanua na ulinganifu MariaDB inahifadhi ulinganifu mkubwa na MySQL huku pia ikitoa injini zake za hifadhi (kama Aria na ColumnStore), ikiruhusu operesheni zinazobadilika kulingana na kesi yako ya matumizi. Hata hivyo, kadiri matoleo yanavyokua, tofauti za ulinganifu zinaweza kutokea, hivyo tahadhari inahitajika wakati wa uhamisho.

Faida za Kuchagua MariaDB

Unapoanzisha hifadhidata katika mazingira ya Linux, MariaDB inatoa faida zifuatazo:

  • Usakinishaji rahisi kwa usanidi rahisi
  • Utendaji nyepesi na wa haraka
  • Uwezo wa kupanuka unaoweza kushughulikia usindikaji wa data wa kiwango kikubwa
  • Uendeshaji thabiti kwa muda mrefu
  • Maarifa mapana na rasilimali za usaidizi kutoka kwa wasanidi duniani kote

Kwa sababu hizi, MariaDB huchaguliwa kwa anuwai ya mazingira, kutoka kwa usanidi wa maendeleo ya kibinafsi hadi mifumo ya uzalishaji ya biashara.

2. Maandalizi Kabla ya Usakinishaji

Kabla ya kusakinisha MariaDB katika mazingira ya Linux, kuna mambo kadhaa ya kuthibitisha na hatua za maandalizi za kukamilisha. Kuruka hatua hii kunaweza kusababisha matatizo baadaye, hivyo maandalizi ya awali ni muhimu sana.

Angalia Mahitaji ya Mfumo

MariaDB ni hifadhidata nyepesi na ya haraka, lakini bado ina mahitaji ya chini ya mfumo. Hapo chini kuna mahitaji ya mwongozo ya jumla (yanatofautiana kulingana na toleo na jinsi unavyotumia):

  • OS : Usambazaji wa Linux kama Ubuntu, Debian, CentOS, na RHEL
  • CPU : 1GHz au zaidi (multi-core inapendekezwa)
  • Memory : 512MB au zaidi (1GB au zaidi inapendekezwa)
  • Storage : 1GB au zaidi ya nafasi huru (rekebisha kulingana na kiasi cha data)
  • Network : Muunganisho wa intaneti unahitajika kupakua vifurushi na kutekeleza masasisho

Kumbuka kwamba kwenye usambazaji wa zamani wa Linux, matoleo ya hivi karibuni ya MariaDB huenda yasitoeungwa mkono. Angalia toleo lako la Linux, na ikiwa inahitajika, ongeza hazina au chukua hatua nyingine ipasavyo.

Thibitisha na Sasisha Pakiti Zinazohitajika

Ili kusakinisha MariaDB, kwa kawaida hutumia msimamizi wa vifurushi wa kawaida wa OS (kama APT au YUM). Kusasisha mfumo wako mapema husaidia kuepuka matatizo ya utegemezi.

Hapa kuna mfano kwa Ubuntu/Debian:

sudo apt update
sudo apt upgrade -y

Kwa CentOS/RHEL, endesha yafuatayo:

sudo yum update -y

Pia, thibitisha kwamba vifurushi vifuatavyo vimesakinishwa (viinstall ikiwa vipo):

  • curl : Inatumika wakati wa kuongeza hazina ya MariaDB
  • gnupg : Inatumika kuthibitisha funguo za kusaini
  • software-properties-common (mainly for Ubuntu): Inahitajika kwa kusimamia PPAs. Si kila wakati inahitajika kwenye Debian.

Fikiria Kutumia Hazina Rasmi ya MariaDB

Katika usambazaji wengi wa Linux, MariaDB imejumuishwa katika hazina za vifurushi chaguo‑msingi, lakini toleo lililotozwa linaweza kuwa la zamani.

Kama unataka kutumia toleo la karibuni la thabiti kila wakati, unaweza kuongeza hazina rasmi ya MariaDB. Sehemu ijayo inatoa hatua maalum za mfumo wa uendeshaji (OS), lakini kuamua mapema toleo ambalo utalitumia kutafanya usakinishaji uwe laini zaidi.

3. Hatua za Usakinishaji kwa Usambazaji Mkuu

MariaDB inapatikana katika usambazaji wengi wa Linux, lakini mbinu za usakinishaji hutofautiana kidogo. Katika sehemu hii, tutapitia hatua za kina za usakinishaji kwa usambazaji watatu wa mfano: Ubuntu, CentOS, na Debian.

Kusakinisha MariaDB kwenye Ubuntu

Kwenye Ubuntu, unasakinisha MariaDB kwa kutumia meneja wa vifurushi APT. Sehemu hii inalenga Ubuntu 20.04 / 22.04 LTS.

1. Sasisha orodha ya vifurushi

sudo apt update

2. Sakinisha MariaDB

sudo apt install mariadb-server -y

Amri hii inasakinisha kiotomatiki MariaDB na vifurushi vinavyohitajika vya utegemezi.

3. Anzisha na wezesha huduma

sudo systemctl start mariadb
sudo systemctl enable mariadb

4. Thibitisha inafanya kazi

sudo systemctl status mariadb

Ukiona “active (running)”, imeanza kwa mafanikio.

Kusakinisha MariaDB kwenye CentOS

Kwenye CentOS 7 na CentOS Stream 8, unatumia YUM au dnf. Kwa kuwa hazina chaguo‑msingi mara nyingi hutoa matoleo ya zamani, ni kawaida kuongeza hazina rasmi.

1. Ongeza hazina rasmi (mfano: MariaDB 10.6)

sudo vi /etc/yum.repos.d/MariaDB.repo

Bandika yafuatayo na uhifadhi:

[mariadb]
name = MariaDB
baseurl = https://downloads.mariadb.com/MariaDB/mariadb-10.6/yum/centos7-amd64
gpgkey=https://downloads.mariadb.com/MariaDB/MariaDB-Server-GPG-KEY
gpgcheck=1

*Rekebisha toleo na mipangilio ya OS kama inavyohitajika kwa mazingira yako.

2. Sakinisha vifurushi

sudo yum install mariadb-server -y

Au kwenye CentOS Stream 8 na baadaye:

sudo dnf install mariadb-server -y

3. Anzisha na wezesha huduma

sudo systemctl start mariadb
sudo systemctl enable mariadb

Kusakinisha MariaDB kwenye Debian

Debian pia inatumia APT, lakini kwa kutumia hazina rasmi ya MariaDB badala ya hazina chaguo‑msingi, unaweza kusakinisha toleo la karibuni la thabiti.

1. Sakinisha vifurushi vya utegemezi

sudo apt install curl software-properties-common gnupg -y

2. Ongeza hazina ya MariaDB (mfano: Debian 11 “Bullseye”)

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

3. Sakinisha

sudo apt update
sudo apt install mariadb-server -y

4. Anzisha na wezesha huduma

sudo systemctl start mariadb
sudo systemctl enable mariadb

4. Usanidi wa Seti ya Herufi

Moja ya pointi muhimu zaidi wakati wa kutumia MariaDB katika mazingira ya Kijapani ni kusanidi seti ya herufi (encoding). Kwa sababu Kijapani kinajumuisha herufi za multibyte, kuanza matumizi na mipangilio isiyo sahihi kunaweza kusababisha matatizo kama maandishi yaliyopotosha au uharibifu wa data.

Seti ya Herufi Inayopendekezwa kwa Mazingira ya Kijapani: UTF-8

Kwa MariaDB, seti ya herufi inayopendekezwa ni utf8mb4. Ina uwezo zaidi kuliko utf8 ya zamani na inaunga mkono herufi za 4‑byte kama vile emoji, na kuifanya ifae si tu kwa Kijapani bali pia kwa mazingira ya lugha nyingi.

Katika mipangilio chaguo‑msingi ya familia ya MySQL, unaweza kuona latin1 au utf8, na kuiacha kama ilivyo inaweza kusababisha matatizo. Kwa hiyo, badilisha mpangilio hadi utf8mb4 mara baada ya usakinishaji.

Jinsi ya Kuhariri Faili la Usanidi (my.cnf)

MariaDB’s configuration file is typically located at /etc/mysql/my.cnf or /etc/my.cnf. Add or edit the [client] and [mysqld] sections as shown below.

[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

After changing the settings, restart MariaDB to apply them:

sudo systemctl restart mariadb

Thibitisha Mipangilio Imewekwa

Connect to MariaDB and confirm that the settings have been applied.

sudo mariadb

After connecting, run the following command:

SHOW VARIABLES LIKE 'character\_set%';

Expected example output:

character_set_client    utf8mb4
character_set_connection utf8mb4
character_set_database   utf8mb4
character_set_results    utf8mb4
character_set_server     utf8mb4

If it looks like this, the character set configuration has been applied correctly.

Kumbuka: Seti za Herufi kwa Data Iliyopo

If you already have existing databases or tables, their character sets will not change automatically. If needed, you must change them individually with an ALTER statement like the following:

ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

Similarly, you can change settings at the table or column level.

5. Usanidi wa Usalama

Right after installing MariaDB, security is not fully hardened. By applying minimum essential security settings before production use, you can reduce the risk of unauthorized access and data leaks. This section introduces basic MariaDB security configuration steps.

Endesha mysql_secure_installation

MariaDB provides a security hardening script that you should run immediately after installation: mysql_secure_installation.

Run it with the following command:

sudo mysql_secure_installation

When you run it, several questions will be shown in sequence. Here’s what each option means.

  1. Set (or update) the root password → Set a password for the MariaDB administrator user “root”. Use a strong password.
  2. Remove anonymous users → By default, an “anonymous” user may exist. This is unnecessary and risky, so removal is recommended .
  3. Disallow remote root login → Allowing root access directly from external networks is extremely dangerous. In most cases, set this to disallow .
  4. Remove the test database → The “test” database created for testing is also unnecessary in many cases. Removal is recommended .
  5. Reload privilege tables → This applies the above changes immediately. Confirm with “Yes” .

Answering all of these questions significantly strengthens MariaDB’s security in its default initial state.

Usanidi wa Firewall (Kama Inahitajika)

MariaDB typically communicates over port 3306. Whether you should open this port depends on how you plan to use the system.

  • When using it locally or on a standalone server → You can keep port 3306 closed.
  • When allowing external access (e.g., connecting from an app on another server) → Open access only for required IP addresses.

Example: Limiting access with UFW on Ubuntu

sudo ufw allow from 192.168.0.10 to any port 3306

Unda Mtumiaji Isiyo root (Inapendekezwa)

In production, it’s best practice to create and use a dedicated user account rather than the administrator user “root”. Here is an example:

CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;

Using separate users per application helps minimize impact in case credentials are compromised.

6. Uthibitishaji

After installing MariaDB, completing initial configuration, and applying security measures, the final step is to verify that everything is working correctly. This section explains how to confirm connectivity and run basic SQL commands.

Unganisha kwa MariaDB

Baada ya usakinishaji, thibitisha kuwa unaweza kuunganisha na MariaDB kwa amri ifuatayo:

sudo mariadb

Au, ikiwa unataka kubainisha mtumiaji na kutoa nenosiri:

mariadb -u root -p

Unapoombwa, ingiza nenosiri uliyoweka kwa mysql_secure_installation.

Kama kuingia kunafanikiwa, utaona mwongozo kama ifuatayo:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.6.16-MariaDB MariaDB Server

Ukiona hii, MariaDB inaendesha kawaida na unaweza kuunganisha kwa mafanikio.

Unda Hifadhidata

Ifuatayo, kama jaribio rahisi, unda hifadhidata.

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Ikiwa imefanyika kwa mafanikio, hifadhidata imeundwa bila matatizo.

Angalia orodha ya hifadhidata ulizonazo:

SHOW DATABASES;

Kama testdb inaonekana, imefanya kazi.

Unda Jedwali na Weka Data

Unda jedwali la majaribio na weka baadhi ya data.

USE testdb;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50),
  email VARCHAR(100)
);

INSERT INTO users (name, email) VALUES ('田中太郎', 'taro-tanaka@example.com');

※Mfano huu unathibitisha kuwa maandishi ya multibyte (Kijapani) yamehifadhiwa kwa usahihi kwa kutumia utf8mb4.

Pata Data

Ili kuthibitisha data iliyowekwa, endesha swali lifuatalo.

SELECT * FROM users;

Kama matokeo yanaonyesha taarifa za Taro Tanaka, unaweza hitimisha kuwa hifadhidata inafanya kazi kwa usahihi.

Angalia Taarifa za Sevula

Kama unataka kuangalia taarifa za msingi kama toleo la MariaDB, endesha amri ifuatayo:

STATUS;

Hii inaonyesha maelezo kama hali ya muunganisho, toleo la seva, na usanidi wa seti ya herufi.

7. FAQ (Maswali Yanayoulizwa Mara Kwa Mara)

Wakati wa kusakinisha na kutumia MariaDB katika mazingira ya Linux, watu wengi wanakutana na maswali au matatizo ya kawaida. Kujua jinsi ya kuyashughulikia mapema kunaweza kuwa faraja. Hapa, tumekusanya pointi zinazoulizwa mara kwa mara katika muundo wa FAQ kwa watumiaji wa awali hadi wa kati.

Swali la 1. Ninawezaje kuangalia toleo la MariaDB?

Baada ya kuunganisha na MariaDB, unaweza kuangalia kwa kuendesha amri ifuatayo.

SELECT VERSION();

Au, unaweza kuangalia moja kwa moja kutoka kwa mstari wa amri kama ifuatayo:

mariadb --version

Mfano wa matokeo:

mariadb  Ver 15.1 Distrib 10.6.16-MariaDB, for Linux (x86_64)

Swali la 2. Nifanye nini kama nitaona “Package not found” wakati wa usakinishaji?

Angalia yafuatayo:

  • Orodha ya vifurushi haijasasishwa → Endesha sudo apt update au sudo yum update , kisha jaribu tena
  • Hifadhi rasmi ya MariaDB haijaongezwa kwa usahihi → Angalia faili za usanidi wa hifadhi (kama /etc/apt/sources.list.d/ au /etc/yum.repos.d/ )
  • Usambazaji wako na toleo la MariaDB havilingani → Kagua tena matoleo yanayoungwa mkono kwenye ukurasa wa upakuaji

Swali la 3. Ninawezaje kuondoa MariaDB?

Kwa Ubuntu/Debian:

sudo apt remove --purge mariadb-server mariadb-client -y
sudo apt autoremove -y

Kwa CentOS/RHEL:

sudo yum remove mariadb-server -y

Baada ya hapo, ikiwa pia unataka kuondoa data na faili za usanidi, endesha yafuatayo:

sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf /etc/mysql

Ukiona data muhimu, hakikisha kuifunga kabla ya kufuta chochote.

Swali la 4. Ninawezaje kufunga na kurejesha hifadhidata?

Kufunga (unda faili ya dump):

mysqldump -u root -p your_database > backup.sql

Kurejesha:

mysql -u root -p your_database < backup.sql

Njia hii ni rahisi na ya kawaida, na ni muhimu sana kwa uhamisho wa MariaDB na urejeshaji baada ya janga.

Swali la 5. Kwa nini siwezi kuunganisha na MariaDB kutoka nje ya seva?

Sababu zinazowezekana ni pamoja na:

  • bind-address imewekwa kwenye 127.0.0.1 → Katika /etc/mysql/my.cnf au /etc/my.cnf , ibadilishe kuwa bind-address = 0.0.0.0 (kuwa mwangalifu na usalama)
  • Bandari 3306 imezuiwa na ukuta wa moto → Fungua bandari hiyo kwa kitu kama sudo ufw allow 3306
  • Mtumiaji hairuhusiwi kwa muunganisho wa mbali → Unahitaji kuunda mtumiaji katika fomu user@'%'