User Tools

Site Tools


sql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
sql [2026/05/23 19:53] – [Ασφαλής Σύνδεση χωρίς έκθεση ευαίσθητων δεδομένων] dmakrypsql [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== 🗂️ Ενότητα: Εργαστήριο Βάσεων Δεδομένων - 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'' και εκτελούμε την παρακάτω εντολή δημιουργίας: 
-<code> 
-CREATE USER 'user'@'localhost' IDENTIFIED BY 'ΤΟ_PASSWORD_ΣΟΥ'; 
-</code> 
- 
-===== 🏗️ Βήμα 3: Παραχώρηση Δικαιωμάτων & Δημιουργία Βάσεων ===== 
-Για να μπορεί ο νέος χρήστης να διαχειρίζεται τις βάσεις των μαθημάτων και των δοκιμών, του δίνουμε πλήρη δικαιώματα (Privileges) αποκλειστικά για τις βάσεις ''db01'' και ''db02'', προστατεύοντας παράλληλα τις υπόλοιπες βάσεις του συστήματος (π.χ. του WordPress): 
- 
-<code> 
-/* 1. Δικαιώματα για τη βάση db01 */ 
-GRANT ALL PRIVILEGES ON `db01`.* TO 'user'@'localhost'; 
- 
-/* 2. Δικαιώματα για τη βάση db02 */ 
-GRANT ALL PRIVILEGES ON `db02`.* TO 'user'@'localhost'; 
- 
-/* 3. Οριστική εφαρμογή των αλλαγών στο σύστημα */ 
-FLUSH PRIVILEGES; 
-</code> 
- 
-==== Δημιουργία των Βάσεων Δεδομένων ==== 
-Στη συνέχεια, δημιουργούμε τις βάσεις δεδομένων, προσέχοντας να ορίσουμε τη σύγχρονη κωδικοποίηση **utf8mb4** ώστε να υποστηρίζονται άψογα οι ελληνικοί χαρακτήρες: 
-<code> 
-CREATE DATABASE `db01` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 
-CREATE DATABASE `db02` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 
-</code> 
- 
-===== 🔄 Βήμα 4: Σύνδεση ως user για Παραγωγική Χρήση ===== 
-Αφού ολοκληρωθεί η παραπάνω προετοιμασία, αλλάζουμε τις ρυθμίσεις στον Διαχειριστή Συνεδριών (Session Manager) του HeidiSQL: 
- 
-  - Στο πεδίο **Χρήστης (User)** σβήνουμε το ''root'' και γράφουμε: %%user%% 
-  - Στο πεδίο **Κωδικός (Password)** βάζουμε τον κωδικό που ορίσαμε στο Βήμα 2. 
-  - Πατάμε **Αποθήκευση** και **Άνοιγμα**. 
- 
-==== 🎯 Το Αποτέλεσμα στο Linux ==== 
-Επειδή το Linux είναι **case-sensitive** (κάνει διαχωρισμό πεζών-κεφαλαιών), ο χρήστης %%%user%%% βλέπει πλέον αριστερά του ένα πεντακάθαρο περιβάλλον, απομονωμένο από το υπόλοιπο σύστημα. Έχει πρόσβαση μόνο στις βάσεις ''db01'' και ''db02'', έτοιμος να εκτελέσει queries, να δημιουργήσει πίνακες και να πειραματιστεί με απόλυτη ασφάλεια! 
- 
---- 
-//Η σελίδα αυτή Δημιουργήθηκε από: Μακρυπόδης Διονύσιος, Καθηγητής Πληροφορικής// 
sql.1779555197.txt.gz · Last modified: by dmakryp