User Tools

Site Tools


sql

This is an old revision of the document!


🗂️ Ενότητα: Εργαστήριο Βάσεων Δεδομένων - SQL

Αυτός ο οδηγός αποτελεί τον πλήρη οδηγός υλοποίησης και διαχείρισης του Εργαστηρίου Βάσεων Δεδομένων στον Αστρόλαβο. Παρουσιάζει βήμα-βήμα τη σύνδεση, την ασφάλιση του εξυπηρετητή και τη δημιουργία απομονωμένου περιβάλλοντος εργασίας.

🛠️ Βήμα 1: Η Εφαρμογή HeidiSQL

Το HeidiSQL είναι ένα ισχυρό, ελαφρύ και δωρεάν εργαλείο με γραφικό περιβάλλον (GUI) για τα Windows. Μας επιτρέπει να διαχειριζόμαστε τη MariaDB που τρέχει στον Linux Server μας, χωρίς να χρειάζεται να γράφουμε τα πάντα σε κονσόλα.

Ασφαλής Σύνδεση χωρίς έκθεση ευαίσθητων δεδομένων

Για να μην ανοίξουμε την πόρτα της βάσης δεδομένων (Port 3306) απευθείας στο internet, χρησιμοποιούμε την τεχνική SSH Tunneling:

  • Καρτέλα Settings: Δηλώνουμε τα στοιχεία της βάσης (χρήστη και κωδικό).
  • Καρτέλα SSH Tunnel: Χρησιμοποιούμε το εκτελέσιμο ssh.exe των Windows και το ιδιωτικό μας κλειδί (Private Key) για να ανοίξουμε μια ασφαλή, κρυπτογραφημένη «σήραγγα» προς τον Αστρόλαβο.

Με αυτόν τον τρόπο, όλες οι πληροφορίες ταξιδεύουν προστατευμένες και η MariaDB νομίζει ότι συνδεόμαστε τοπικά (localhost).

🔑 Βήμα 2: Δημιουργία Απομονωμένου Χρήστη Διαχείρισης

Η χρήση του παντοδύναμου χρήστη root για τις καθημερινές εργασίες ή τις δοκιμές είναι επικίνδυνη. Για το λόγο αυτό, δημιουργούμε έναν αυτόνομο χρήστη-ιδιοκτήτη, τον user, στον οποίο θα δώσουμε δικαιώματα πρόσβασης μόνο στις δικές του βάσεις.

Συνδεόμαστε την πρώτη φορά ως root και εκτελούμε την παρακάτω εντολή δημιουργίας:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'ΤΟ_PASSWORD_ΣΟΥ';

🏗️ Βήμα 3: Παραχώρηση Δικαιωμάτων & Δημιουργία Βάσεων

Για να μπορεί ο νέος χρήστης να διαχειρίζεται τις βάσεις των μαθημάτων και των δοκιμών, του δίνουμε πλήρη δικαιώματα (Privileges) αποκλειστικά για τις βάσεις db01 και db02, προστατεύοντας παράλληλα τις υπόλοιπες βάσεις του συστήματος (π.χ. του WordPress):

/* 1. Δικαιώματα για τη βάση db01 */
GRANT ALL PRIVILEGES ON `db01`.* TO 'user'@'localhost';

/* 2. Δικαιώματα για τη βάση db02 */
GRANT ALL PRIVILEGES ON `db02`.* TO 'user'@'localhost';

/* 3. Οριστική εφαρμογή των αλλαγών στο σύστημα */
FLUSH PRIVILEGES;

Δημιουργία των Βάσεων Δεδομένων

Στη συνέχεια, δημιουργούμε τις βάσεις δεδομένων, προσέχοντας να ορίσουμε τη σύγχρονη κωδικοποίηση utf8mb4 ώστε να υποστηρίζονται άψογα οι ελληνικοί χαρακτήρες:

CREATE DATABASE `db01` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE DATABASE `db02` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

🔄 Βήμα 4: Σύνδεση ως user για Παραγωγική Χρήση

Αφού ολοκληρωθεί η παραπάνω προετοιμασία, αλλάζουμε τις ρυθμίσεις στον Διαχειριστή Συνεδριών (Session Manager) του HeidiSQL:

  1. Στο πεδίο Χρήστης (User) σβήνουμε το root και γράφουμε: user
  2. Στο πεδίο Κωδικός (Password) βάζουμε τον κωδικό που ορίσαμε στο Βήμα 2.
  3. Πατάμε Αποθήκευση και Άνοιγμα.

🎯 Το Αποτέλεσμα στο Linux

Επειδή το Linux είναι case-sensitive (κάνει διαχωρισμό πεζών-κεφαλαιών), ο χρήστης %user% βλέπει πλέον αριστερά του ένα πεντακάθαρο περιβάλλον, απομονωμένο από το υπόλοιπο σύστημα. Έχει πρόσβαση μόνο στις βάσεις db01 και db02, έτοιμος να εκτελέσει queries, να δημιουργήσει πίνακες και να πειραματιστεί με απόλυτη ασφάλεια!

Η σελίδα αυτή Δημιουργήθηκε από: Μακρυπόδης Διονύσιος, Καθηγητής Πληροφορικής

sql.1779554941.txt.gz · Last modified: by dmakryp