Si të instaloni MariaDB në Debian 10


Prezantimi

Stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Ai synohet të jetë një zëvendësim për MySQL dhe Debian tani dërgohet vetëm me paketat MariaDB. Nëse përpiqeni të instaloni paketa të lidhura me serverin MySQL, në vend të kësaj do të merrni versionet e përputhshme të zëvendësimit të MariaDB.

Versioni i shkurtër i këtij udhëzuesi instalimi përbëhet nga tre hapat e mëposhtëm:

  • Përditësoni indeksin tuaj të paketës duke përdorur apt
  • Instaloni paketën mariadb-server duke përdorur apt. Paketa gjithashtu tërheq mjete të ngjashme për të bashkëvepruar me MariaDB
  • Ekzekutoni skriptin e sigurisë të përfshirë mysql_secure_installation për të kufizuar aksesin në server

  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

Ky tutorial do të shpjegojë se si të instaloni versionin 10.3 të MariaDB në një server Debian 10 dhe të verifikoni që ai po funksionon dhe ka një konfigurim fillestar të sigurt.

Parakushtet

Për të përfunduar këtë tutorial, do t'ju duhet një server Debian 10 i konfiguruar me një përdorues joroot me privilegje sudo dhe një mur zjarri. Ju mund ta konfiguroni këtë duke ndjekur udhëzuesin tonë fillestar të konfigurimit të serverit.

Hapi 1 - Instalimi i MariaDB

Në Debian 10, versioni 10.3 i MariaDB përfshihet në depot e paketave APT si parazgjedhje. Është shënuar si varianti i parazgjedhur i MySQL nga ekipi i paketimit Debian MySQL/MariaDB.

Për ta instaluar, përditësoni indeksin e paketës në serverin tuaj me apt:

  1. sudo apt update

Pastaj instaloni paketën:

  1. sudo apt install mariadb-server

Këto komanda do të instalojnë MariaDB, por nuk do t'ju kërkojnë të vendosni një fjalëkalim ose të bëni ndonjë ndryshim tjetër të konfigurimit. Për shkak se konfigurimi i parazgjedhur e lë instalimin tuaj të MariaDB të pasigurt, ju do të përdorni një skript që ofron paketa mariadb-server për të kufizuar aksesin në server dhe për të hequr llogaritë e papërdorura.

Hapi 2 — Konfigurimi i MariaDB

Për instalimet e reja të MariaDB, hapi tjetër është ekzekutimi i skriptit të sigurisë të përfshirë. Ky skenar ndryshon disa nga opsionet e paracaktuara më pak të sigurta. Ne do ta përdorim atë për të bllokuar hyrjet në distancë root dhe për të hequr përdoruesit e papërdorur të bazës së të dhënave.

Ekzekutoni skriptin e mëposhtëm të sigurisë:

  1. sudo mysql_secure_installation

Kjo do t'ju çojë përmes një sërë kërkesash ku mund të bëni disa ndryshime në opsionet e sigurisë së instalimit tuaj MariaDB. Kërkesa e parë do t'ju kërkojë të futni fjalëkalimin aktual root të bazës së të dhënave. Meqenëse nuk e keni konfiguruar ende një, shtypni ENTER për të treguar \asnjë.

Kërkesa tjetër ju pyet nëse dëshironi të vendosni një fjalëkalim root të bazës së të dhënave. Shkruani N dhe më pas shtypni ENTER. Në Debian, llogaria root për MariaDB është e lidhur ngushtë me mirëmbajtjen e automatizuar të sistemit, kështu që nuk duhet të ndryshoni metodat e konfiguruara të vërtetimit për atë llogari. Një veprim i tillë do të bënte të mundur që një përditësim i paketës të prishë sistemin e bazës së të dhënave duke hequr aksesin në llogarinë administrative. Më vonë, ne do të trajtojmë se si të konfiguroni opsionalisht një llogari shtesë administrative për aksesin e fjalëkalimit nëse vërtetimi i prizës nuk është i përshtatshëm për rastin tuaj të përdorimit.

Nga atje, mund të shtypni Y dhe më pas ENTER për të pranuar parazgjedhjet për të gjitha pyetjet e mëpasshme. Kjo do të heqë disa përdorues anonimë dhe bazën e të dhënave të testimit, do të çaktivizojë hyrjet në distancë root dhe do të ngarkojë këto rregulla të reja në mënyrë që MariaDB të respektojë menjëherë ndryshimet që keni bërë.

Hapi 3 - (Opsionale) Rregullimi i vërtetimit dhe privilegjeve të përdoruesit

Në sistemet Debian që ekzekutojnë MariaDB 10.3, përdoruesi root MariaDB është caktuar të vërtetojë duke përdorur shtojcën unix_socket si parazgjedhje dhe jo me një fjalëkalim. Kjo mundëson siguri dhe përdorshmëri më të madhe në shumë raste, por gjithashtu mund t'i komplikojë gjërat kur ju duhet të lejoni të drejtat administrative të një programi të jashtëm (p.sh., phpMyAdmin).

Për shkak se serveri përdor llogarinë root për detyra si rrotullimi i regjistrave dhe fillimi dhe ndalimi i serverit, është mirë të mos ndryshoni detajet e vërtetimit të llogarisë root. Ndryshimi i kredencialeve në skedarin e konfigurimit /etc/mysql/debian.cnf mund të funksionojë fillimisht, por përditësimet e paketës mund t'i mbishkruajnë këto ndryshime. Në vend të modifikimit të llogarisë root, mirëmbajtësit e paketës rekomandojnë krijimin e një llogarie të veçantë administrative për qasje të bazuar në fjalëkalim.

Për të demonstruar këtë proces, ne do të krijojmë një llogari të re të quajtur admin me të njëjtat aftësi si llogaria root, por e konfiguruar për vërtetimin e fjalëkalimit. Për ta bërë këtë, hapni kërkesën MariaDB nga terminali juaj:

  1. sudo mysql

Tani, krijoni një përdorues të ri me privilegje root dhe akses të bazuar në fjalëkalim. Ndryshoni emrin e përdoruesit dhe fjalëkalimin që të përputhet me preferencat tuaja:

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Fshini privilegjet për t'u siguruar që ato të ruhen dhe të disponohen në sesionin aktual:

  1. FLUSH PRIVILEGES;

Pas kësaj, dilni nga guaska MariaDB:

  1. exit
Output
Bye

Tjetra, le të testojmë instalimin MariaDB.

Hapi 4 - Testimi i MariaDB

Kur instalohet nga depot e paracaktuara, MariaDB duhet të fillojë të funksionojë automatikisht. Për ta testuar këtë, kontrolloni statusin e tij:

  1. sudo systemctl status mariadb

Do të merrni dalje që është e ngjashme me sa vijon:

Output
● mariadb.service - MariaDB 10.3.31 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: Active: active (running) since Mon 2022-03-14 18:33:32 UTC; 2min 2s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3229 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 4915) Memory: 74.4M CGroup: /system.slice/mariadb.service └─3229 /usr/sbin/mysqld Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schema Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 6/7: Checking and u Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Running 'mysqlcheck' with Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Connecting to localhost Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Disconnecting from loca Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Processing databases Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: information_schema Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schema Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 7/7: Running 'FLUSH Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: OK

Nëse MariaDB nuk po funksionon, mund ta nisni me komandën sudo systemctl start mariadb.

Për një kontroll shtesë, mund të provoni të lidheni me bazën e të dhënave duke përdorur mjetin mysqladmin, i cili është një klient që ju lejon të ekzekutoni komandat administrative. Për shembull, kjo komandë thotë që të lidheni me MariaDB si root dhe të ktheni versionin duke përdorur folenë Unix:

  1. sudo mysqladmin version

Prodhimi juaj duhet të jetë i ngjashëm me sa vijon:

Output
mysqladmin Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.31-MariaDB-0+deb10u1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 3 min 6 sec Threads: 6 Questions: 473 Slow queries: 0 Opens: 175 Flush tables: 1 Open tables: 31 Queries per second avg: 2.543

Nëse keni konfiguruar një përdorues të veçantë administrativ me vërtetimin e fjalëkalimit, mund të kryeni të njëjtin veprim duke ekzekutuar komandën e mëposhtme:

  1. mysqladmin -u admin -p version
Output
Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.31-MariaDB-0+deb10u1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 7 min 11 sec Threads: 6 Questions: 474 Slow queries: 0 Opens: 175 Flush tables: 1 Open tables: 31 Queries per second avg: 1.099

Ky dalje do të thotë që MariaDB është në funksion dhe se përdoruesi juaj është në gjendje të vërtetojë me sukses.

konkluzioni

Në këtë udhëzues, ju keni instaluar MariaDB për të vepruar si një server SQL. Gjatë procesit të instalimit, keni siguruar edhe serverin. Opsionale, keni krijuar gjithashtu një përdorues të veçantë për të siguruar qasje administrative në MariaDB përmes përditësimeve të paketave.

Tani që keni një server MariaDB funksional dhe të sigurt, këtu janë disa shembuj të hapave të ardhshëm që mund të ndërmerrni për të punuar me serverin:

  • Importoni dhe eksportoni bazat e të dhënave

Ju gjithashtu mund të inkorporoni MariaDB në një pirg më të madh aplikacionesh:

  • Si të instaloni Linux, Nginx, MariaDB, PHP (stekë LEMP) në Debian 10