🗄️ MariaDB Navodila

Vodič za namestitev in upravljanje baze podatkov

1. Namestitev MariaDB

Korak 1: Posodobitev paketa sistema

Preden začnete, je priporočljivo posodobiti seznam dostopnih paketov:

sudo apt update

Korak 2: Namestitev MariaDB strežnika

Namestite MariaDB strežnik z naslednjim ukazom:

sudo apt install mariadb-server -y
ℹ️ Kaj se zgodi: Sistem bo namestil MariaDB strežnik skupaj z vsemi potrebnimi odvisnostmi.

Korak 3: Zagon in omogočitev MariaDB storitve

Zaženite MariaDB in omogočite njegov samodejni zagon ob ponovnem zagonu sistema:

sudo systemctl start mariadb && sudo systemctl enable mariadb
ℹ️ Kaj se zgodi: Prva ukaz zažene storitev, druga pa omogoči samodejni zagon ob vsakem zagonu sistema.

Korak 4: Preverjanje statusa

Preverite, ali je MariaDB pravilno zagnan:

sudo systemctl status mariadb
✓ Pričakovan rezultat: Videti bi morali sporočilo "active (running)".

2. Varnostna Konfiguracija

Zagon varnostnega skriptu

Zaženite varnostni skript za izboljšano zaščito:

sudo mariadb-secure-installation

Kaj naredi mariadb-secure-installation?

Ta skript naredi naslednje:
1. Nastavitev root gesla: Postavi geslo za root uporabnika, ki ga v čisto namestitvi ni.
2. Odstranitev anonimnih uporabnikov: Izbriše anonimne račune, ki bi lahko predstavljali varnostno tveganje.
3. Onemogočanje oddaljenih prijav root-a: Preprečuje, da se root poveže preko omrežja, samo lokalno.
4. Odstranitev testne baze: Izbriše testno bazo "test", ki jo privzeto ustvari MariaDB.
5. Osveževanje privilegijev: Ponovno naloži tabelo privilegijev, da se vse spremembe uveljavijo.
⚠️ Priporočilo: Med izvajanjem priporočujemo odgovarjati z "Y" (yes) na vsa vprašanja za maximalno varnost.

3. Dostop do MariaDB

Prijava v MariaDB

Prijavite se v MariaDB s sledečim ukazom:

sudo mysql -u root -p
ℹ️ Napomene:
-u root - prijava kot root uporabnik
-p - sistem vas bo pozval za geslo
• Po uspešni prijavi vidite MariaDB [(none)]> prompt

4. Ustvarjanje Baze Podatkov in Tabele

Korak 1: Ustvarjanje baze podatkov

Ko ste prijavljeni v MariaDB, ustvarite novo bazo:

CREATE DATABASE Baza_strank;
✓ Pričakovan rezultat: Query OK, 1 row affected

Korak 2: Izbira baze podatkov

Izberite bazo, v kateri želite delati:

USE Baza_strank;
✓ Pričakovan rezultat: Database changed

Korak 3: Ustvarjanje tabele "stranke"

Ustvarite tabelo za shranjovanje podatkov o strankah:

CREATE TABLE stranke (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ime VARCHAR(50) NOT NULL,
    priimek VARCHAR(50) NOT NULL,
    enaslov VARCHAR(100) NOT NULL,
    domaci_naslov VARCHAR(150) NOT NULL,
    starost INT NOT NULL,
    spol ENUM('M', 'Z') NOT NULL
);

Razlaga strukture tabele:

Polje Tip Opis
id INT AUTO_INCREMENT PRIMARY KEY Unikaten identifikator, avtomatično se povečuje
ime VARCHAR(50) NOT NULL Ime stranke, obvezno polje, max 50 znakov
priimek VARCHAR(50) NOT NULL Priimek stranke, obvezno polje, max 50 znakov
enaslov VARCHAR(100) NOT NULL Elektronski naslov, obvezno polje, max 100 znakov
domaci_naslov VARCHAR(150) NOT NULL Domači naslov, obvezno polje, max 150 znakov
starost INT NOT NULL Starost stranke v letih, obvezno polje
spol ENUM('M', 'Z') NOT NULL Spol (M=Moški, Z=Ženska), obvezno polje
✓ Pričakovan rezultat: Query OK, 0 rows affected

Korak 4: Preverjanje tabele

Preverite strukturo tabele:

DESCRIBE stranke;
ℹ️ Kaj se zgodi: Prikazani bodo vsi stolpci tabele z njihovimi tipi in svojstvami.

5. Uvoz Podatkov iz CSV Datoteke

Korak 1: Priprava CSV datoteke

CSV datoteka s podatki o strankah mora biti v direktoriju /var/lib/mysql-files/ z imenom stranke.csv

⚠️ Pomembno: MariaDB zahteva, da se podatki nahajajo v specifičnem direktoriju iz varnostnih razlogov.

Struktura CSV datoteke:

Prva vrstica so nazivi stolpcev:

ime,priimek,enaslov,domaci_naslov,starost,spol

Sledi primer vrstice s podatki:

Luka,Kranjc,[email protected],"Cesta 12, Ljubljana",32,M

Korak 2: Uvoz podatkov v bazo

Uporabite naslednji SQL ukaz za uvoz podatkov:

LOAD DATA INFILE '/var/lib/mysql-files/stranke.csv'
INTO TABLE stranke
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(ime, priimek, enaslov, domaci_naslov, starost, spol);

Razlaga ukaza:

LOAD DATA INFILE: Naloži podatke iz datoteke
FIELDS TERMINATED BY ',': Polja so ločena z vejicami
ENCLOSED BY '"': Besedilo je obdano z narekovaji
LINES TERMINATED BY '\n': Vrstice se končajo z novo vrstico
IGNORE 1 ROWS: Preskoči prvo vrstico (nazive stolpcev)
✓ Pričakovan rezultat: Query OK, XXX rows affected (XXX je število uvoženih vrstic)

Korak 3: Preverjanje uvoženih podatkov

Preverite, ali so se podatki uspešno uvozili:

SELECT COUNT(*) FROM stranke;

Oglejte si prve vrstice:

SELECT * FROM stranke LIMIT 5;

6. Koristni SQL Ukazi

Prikaz vseh baz podatkov:

SHOW DATABASES;

Prikaz vseh tabel v trenutni bazi:

SHOW TABLES;

Prikaz vseh podatkov iz tabele:

SELECT * FROM stranke;

Iskanje določenega podatka:

SELECT * FROM stranke WHERE ime = 'Luka';

Štetje podatkov:

SELECT COUNT(*) FROM stranke;

Izpis specifičnih stolpcev:

SELECT ime, priimek, starost FROM stranke;

Izhod iz MariaDB:

EXIT;

7. CSV Datoteka s Podatki

Pregled Datoteke

Spodaj je predogled prvih podatkov iz CSV datoteke:

ime,priimek,enaslov,domaci_naslov,starost,spol
Luka,Kranjc,[email protected],"Cesta 12, Ljubljana",32,M
Ana,Horvat,[email protected],"Pot 5, Maribor",28,Z
Marko,Novak,[email protected],"Ulica 3, Celje",41,M
Maja,Zupan,[email protected],"Trg 1, Kranj",22,Z
Tina,Kos,[email protected],"Pot 7, Novo mesto",37,Z
Peter,Kovač,[email protected],"Cesta 19, Ptuj",45,M
Matej,Breznik,[email protected],"Ulica 14, Velenje",29,M
Sara,Oblak,[email protected],"Trg 6, Murska Sobota",33,Z
Nina,Bizjak,[email protected],"Ulica 11, Koper",26,Z
Jure,Petek,[email protected],"Cesta 8, Izola",39,M
ℹ️ Skupaj: Datoteka vsebuje okoli 70 vrstic s podatki o strankah iz različnih slovenskih mest.

Prenos Datoteke

Datoteko lahko preuzmete s klikom na gumb spodaj:

📥 Prenesi stranke.csv

Navodila za prenos:

1. Kliknite na gumb "Prenesi stranke.csv"
2. Datoteka se bo prenesla v vašo mapo za prenos
3. Datoteko prenesete v direktorij /var/lib/mysql-files/ na vašem strežniku

Kako prenesti datoteko na strežnik

Ko ste datoteko prenesli, jo prenesete na strežnik s sledečim ukazom:

sudo cp stranke.csv /var/lib/mysql-files/

Nastavite ustrezne pravice za dostop:

sudo chmod 644 /var/lib/mysql-files/stranke.csv

Preverite, da je datoteka na mestu:

ls -la /var/lib/mysql-files/stranke.csv

Statistika Podatkov

Lastnost Vrednost
Skupno število vrstic s podatki 63
Število polj na vrstico 6
Izvora podatkov Različna slovenska mesta
Format datoteke CSV (Comma-Separated Values)
Kodiranje znakov UTF-8

8. Pogosta Vprašanja

V: Kaj če nastavim napačno geslo pri mariadb-secure-installation?

O: Geslo se da spremeniti z ukazom: sudo mysql -u root in nato ALTER USER 'root'@'localhost' IDENTIFIED BY 'novo_geslo';

V: Kako izborem napačno bazo in jo želim spremeniti?

O: Uporabite USE druga_baza; za izbor druge baze.

V: Kje najdem CSV datoteko?

O: CSV datoteka mora biti v direktoriju /var/lib/mysql-files/ Z dovoljenjem za branje za MariaDB storitev.

V: Kaj če imam napako pri uvozu podatkov?

O: Preverite format CSV datoteke, pravico do dostopa in da je pot do datoteke pravilna. Uporabite SHOW ERRORS; za prikaz napak.