Το MySQL είναι μία από τις πιο δημοφιλείς βάσεις δεδομένων ανοιχτού κώδικα. Είναι γνωστό για την απόδοση, την αξιοπιστία και την επεκτασιμότητά του και χρησιμοποιείται σε πολλούς διαφορετικούς τομείς, από μικρά συστήματα φιλοξενίας ιστοσελίδων έως μεγάλες επιχειρήσεις. Σε αυτό το άρθρο, θα εξηγήσουμε βήμα προς βήμα πώς να εγκαταστήσετε το MySQL στο Ubuntu 20.04, ώστε να μπορείτε να ρυθμίσετε ένα αξιόπιστο σύστημα διαχείρισης βάσεων δεδομένων.

Ποιες είναι οι απαιτήσεις για την εγκατάσταση του MySQL στο Ubuntu 20.04;

Υπάρχουν σχετικά λίγες απαιτήσεις συστήματος για την εγκατάσταση του MySQL στο Ubuntu 20.04, οι οποίες θα πρέπει να πληρούνται στα περισσότερα σύγχρονα συστήματα επιτραπέζιων υπολογιστών και διακομιστών. Είναι σημαντικό να σημειωθεί ότι οι απαιτήσεις μπορεί να διαφέρουν ανάλογα με τον προορισμό και το εύρος της βάσης δεδομένων. Για παράδειγμα, εάν θέλετε να εκτελέσετε μια εντατική εφαρμογή που χρησιμοποιεί μεγάλες βάσεις δεδομένων ή σύνθετες ερωτήσεις, η μνήμη RAM και η επεξεργασία που απαιτούνται για την εξασφάλιση καλής απόδοσης θα είναι υψηλότερες. Θα πρέπει επίσης να έχετε αρκετό χώρο στον σκληρό σας δίσκο για να επιτρέψετε μελλοντική ανάπτυξη και προσθήκη περισσότερων βάσεων δεδομένων.

Θα πρέπει να ελέγξετε τη διαμόρφωση του δικτύου και τις ρυθμίσεις του τείχους προστασίας για να εξασφαλίσετε την ομαλή επικοινωνία μεταξύ του διακομιστή MySQL και των πελατών. Ο διακομιστής MySQL θα πρέπει να έχει στατική διεύθυνση IP για να αποφευχθούν τυχόν προβλήματα με τη σύνδεση.

Ακολουθούν οι ελάχιστες απαιτήσεις για την εγκατάσταση του MySQL:

  • Επεξεργαστής (CPU): αρχιτεκτονική x86-64, ελάχιστη ταχύτητα 1 GHz (διπύρηνος)
  • RAM: ελάχιστη 1 GB
  • Λειτουργικό σύστημα: Ubuntu 20.04, λογαριασμός χρήστη με δικαιώματα sudo και root
  • Τείχος προστασίας: θύρα MySQL 3306 ανοιχτή
  • Χώρος στο σκληρό δίσκο: ελάχιστο 500 MB
  • Σύνδεση στο Internet: Απαιτείται για τη λήψη πακέτων και τη σύνδεση με τον διακομιστή MySQL

Οδηγός βήμα προς βήμα για την εγκατάσταση του MySQL στο Ubuntu 20.04

Το MySQL μπορεί να εγκατασταθεί στο Ubuntu 20.04 χρησιμοποιώντας το σύστημα διαχείρισης πακέτων APT (Advanced Package Tool). Μετά την εγκατάσταση, πρέπει να το ρυθμίσετε και να το διαμορφώσετε, για το οποίο θα χρειαστείτε τον κωδικό πρόσβασης root και πρόσβαση σε εξωτερικούς πελάτες. Παρακάτω θα σας δείξουμε βήμα προς βήμα πώς να εγκαταστήσετε το MySQL στο Ubuntu 20.04.

Βήμα 1: Ενημέρωση του ευρετηρίου πακέτων

Πρώτα, είναι καλή ιδέα να βεβαιωθείτε ότι η λίστα των πακέτων σας είναι ενημερωμένη. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για αυτό:

$ sudo apt update
bash

Βήμα 2: Εγκαταστήστε τον διακομιστή MySQL

Στη συνέχεια, εγκαταστήστε το πακέτο διακομιστή MySQL με το APT:

$ sudo apt install mysql-server
bash

Για να ελέγξετε αν ο διακομιστής λειτουργεί, μπορείτε να τον ξεκινήσετε χειροκίνητα με την εντολή systemctl.

$ sudo systemctl start mysql.service
bash

Βήμα 3: Διαμόρφωση του MySQL

Το MySQL δεν πληροί τα συνιστώμενα πρότυπα ασφαλείας αμέσως μετά την εγκατάσταση. Για να το διορθώσετε, χρησιμοποιήστε το σενάριο που παρέχει το MySQL για να αλλάξετε τις ρυθμίσεις και να προστατεύσετε καλύτερα τον διακομιστή. Έτσι θα ορίσετε τον κωδικό πρόσβασης root, θα καταργήσετε τους ανώνυμους χρήστες και θα περιορίσετε την απομακρυσμένη πρόσβαση.

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

Για να το κάνετε αυτό, ξεκινήστε τη γραμμή εντολών MySQL:

$ sudo mysql
bash

Χρησιμοποιήστε την εντολή ALTER USER για να ορίσετε έναν κωδικό πρόσβασης για το root:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Κλείστε τη γραμμή εντολών MySQL:

mysql> exit
bash

Εκτελέστε το σενάριο ασφαλείας:

$ sudo mysql_secure_installation
bash

Για να πιστοποιήσετε τον χρήστη root, πληκτρολογήστε τα εξής:

$ mysql -u root -p
bash

Αφού ολοκληρωθεί το σενάριο, μπορείτε να αλλάξετε ξανά την τυπική μέθοδο ελέγχου ταυτότητας:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
bash

Αυτό θα σας επιτρέψει να συνδεθείτε ξανά με την εντολή sudo mysql.

Βήμα 4: Ρύθμιση χρηστών MySQL

Η εγκατάσταση του MySQL δημιουργεί έναν χρήστη root που έχει όλα τα δικαιώματα για τον διακομιστή MySQL και πλήρη έλεγχο των βάσεων δεδομένων, των πινάκων και των χρηστών. Για να αυξήσετε την ασφάλεια, θα πρέπει να δημιουργήσετε έναν χρήστη με περιορισμένα δικαιώματα.

Για να το κάνετε αυτό, ανοίξτε τη γραμμή εντολών MySQL:

$ sudo mysql
bash

Εάν έχετε ορίσει έναν κωδικό πρόσβασης ως μέθοδο ελέγχου ταυτότητας, χρησιμοποιήστε τα εξής:

$ mysql -u root -p
bash

Τώρα δημιουργήστε έναν νέο χρήστη για το MySQL:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
bash

Εισάγετε το όνομα χρήστη σας στη θέση «username» και το όνομα του κεντρικού υπολογιστή σας στη θέση «host». Εάν χρησιμοποιείτε Ubuntu τοπικά, γράψτε localhost. Η έκφραση «WITH authentication_plugin» είναι προαιρετική. Το πρόσθετο «auth_socket» έχει ισχυρές ρυθμίσεις ασφαλείας και δεν απαιτεί κωδικό πρόσβασης για τη σύνδεση.

Εκτός αν ορίζεται διαφορετικά, το MySQL χρησιμοποιεί το plugin «caching_sha2_password» για την πιστοποίηση. Ωστόσο, ορισμένες εκδόσεις του PHP δεν είναι συμβατές με αυτό. Μπορείτε να χρησιμοποιήσετε το δοκιμασμένο και αξιόπιστο plugin «mysql_native_password» στη θέση του:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Ή χρησιμοποιήστε τη λειτουργία «alter» για έναν υπάρχοντα χρήστη:

mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Βήμα 5: Εκχώρηση προνομίων

Τώρα είναι η ώρα να ορίσετε τα δικαιώματα που θα έχει ο νέος χρήστης. Η σύνταξη για αυτό είναι:

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
bash

Τα προνόμια διαχωρίζονται με κόμμα. Για να δώσετε παγκόσμια προνόμια, αντικαταστήστε το «database.table» με έναν αστερίσκο «*».

Στο παρακάτω παράδειγμα, χορηγούμε σε έναν χρήστη άδεια για τη δημιουργία (CREATE), τροποποίηση (ALTER) και διαγραφή (DROP) βάσεων δεδομένων, καθώς και για την εισαγωγή (INSERT), επιλογή (SELECT), ενημέρωση (UPDATE) και διαγραφή (DELETE) δεδομένων σε έναν πίνακα.

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;
bash

Η επιλογή «WITH GRANT OPTION» (ΜΕ ΔΙΚΑΙΩΜΑ ΧΟΡΗΓΗΣΗΣ) παρέχει στον χρήστη την άδεια να παραχωρήσει τα δικαιώματα που διαθέτει σε άλλους χρήστες.

Τώρα αδειάστε την προσωρινή μνήμη με την εντολή «FLUSH PRIVILEGES»:

mysql> FLUSH PRIVILEGES;
bash

Στη συνέχεια, μπορείτε να κλείσετε τη γραμμή εντολών MySQL:

mysql> exit
bash

Τώρα μπορείτε να συνδεθείτε με το νέο όνομα χρήστη:

$ mysql -u username -p
bash

Βήμα 6: Δοκιμή MySQL

Ελέγξτε αν το MySQL λειτουργεί σωστά, για παράδειγμα, με τον διαχειριστή συστήματος Systemd:

$ systemctl status mysql.service
bash

Εναλλακτικά, μπορείτε να συνδεθείτε με τη βάση δεδομένων MySQL. Η ακόλουθη εντολή σας συνδέει στο MySQL και εμφανίζει την έκδοση του διακομιστή:

$ sudo mysqladmin -p -u username version
bash
Go to Main Menu