Διαχείριση MySQL: πώς να δημιουργήσετε έναν χρήστη και να ορίσετε τα δικαιώματά του

Πίνακας περιεχομένων:

Διαχείριση MySQL: πώς να δημιουργήσετε έναν χρήστη και να ορίσετε τα δικαιώματά του
Διαχείριση MySQL: πώς να δημιουργήσετε έναν χρήστη και να ορίσετε τα δικαιώματά του
Anonim

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

mysql δημιουργία χρήστη
mysql δημιουργία χρήστη

Αν δεν γνωρίζετε το σωστό όνομα χρήστη και κωδικό πρόσβασης, η πρόσβαση στη βάση δεδομένων μέσω MySQL είναι πολύ δύσκολη.

Σε κανονική λειτουργία φιλοξενίας, αυτό είναι αρκετό. Οι απρόβλεπτες καταστάσεις, οι επιθέσεις χάκερ και άλλα προβλήματα είναι θέμα εξωτερικής διαχείρισης συστήματος και υπηρεσιών ασφαλείας. Αυτή η έννοια έχει γίνει παραδοσιακή και ουσιαστικά δεν συζητείται.

Εγκατάσταση διακομιστή MySQL και root χρήστη

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

  • δημιουργία και διαχείριση νέων χρηστών;
  • δημιουργία και διαχείριση βάσεων δεδομένων.
mysql δημιουργεί έναν χρήστη και δίνει δικαιώματα στη βάση δεδομένων
mysql δημιουργεί έναν χρήστη και δίνει δικαιώματα στη βάση δεδομένων

Είναι θεμελιωδώς δυνατό για χρήστες "χωρίς κωδικό πρόσβασης" να υπάρχουν στη MySQL, αλλά αυτό είναι απαράδεκτο.

Συνήθη πρακτική:

  • διακομιστής εγκατεστημένος στον δικό του υπολογιστή, όπου μπορεί να εγκατασταθεί η φιλοξενία (τοπική επιλογή);
  • Ο διακομιστής βρίσκεται σε δημόσια φιλοξενία στο Διαδίκτυο.

Στην πρώτη περίπτωση, είναι δυνατή η εργασία με τον διακομιστή από τη γραμμή εντολών και η χρήση phpMyAdmin, στη δεύτερη περίπτωση, μόνο το phpMyAdmin ή ένα παρόμοιο εργαλείο, αλλά η πρόσβαση στη γραμμή εντολών είναι δυνατή μέσω απομακρυσμένης πρόσβασης SSH.

Δικά εργαλεία διαχείρισης

Η αίσθηση συγγένειας με την οικογένεια Unixoid και με το παρελθόν από τους διακομιστές Apache είναι χαρακτηριστικό γνώρισμα της MySQL: η δημιουργία χρήστη είναι μια γραμμή εντολών με περίεργη σύνταξη. Για επαγγελματίες που εργάζονται με Linux και παρόμοια συστήματα, αυτό είναι τόσο οικείο όσο και άγριο στα μάτια των χρηστών των Windows που δεν έχουν «μπει ποτέ στην πραγματική ζωή».

Η δημιουργία ενός χρήστη ξεκινά με την έναρξη της γραμμής εντολών του διακομιστή. Σε περιβάλλον Windows, αυτό γίνεται ως εξής.

mysql δημιουργία χρήστη με όλα τα δικαιώματα
mysql δημιουργία χρήστη με όλα τα δικαιώματα

Πρώτα (1) πρέπει να εκτελέσετε τη γραμμή εντολών ως διαχειριστής και, στη συνέχεια, μεταβείτε στο φάκελο όπου βρίσκεται η MySQL (2) και, στη συνέχεια,εκκίνηση του ίδιου του διακομιστή (3):

mysql -u… -p

εδώ "-u…" και "-p" είναι κλειδιά που δείχνουν το όνομα "…"=ρίζα (ή άλλο όνομα) και τον κωδικό πρόσβασής του. Κατ 'αρχήν, ένας χρήστης μπορεί να μην είναι root, αλλά αυτός που έχει δικαιώματα "root" (διαχειριστικά).

Σημαντικό: ο διακομιστής στην πραγματικότητα εκτελείται πάντα, εδώ mysql -u… -p είναι η εντολή για πρόσβαση στον διακομιστή και όχι για εκκίνηση.

Σε περιβάλλον Linux και παρόμοια συστήματα, μια τέτοια εντολή είναι μια "εγγενής" ενέργεια και, κατά κανόνα, καθορίζεται με απλή εκκίνηση του mysqld στο σωστό μέρος (στη σωστή διαδρομή), αυτό θα πρέπει να ελεγχθεί με ο διαχειριστής. Συνήθως υπάρχει ένα διαφορετικό όνομα εδώ: όχι mysql, αλλά mysqld. Επίσης εδώ, αυτή η ενέργεια δεν είναι πάντα διαθέσιμη σε όλους τους χρήστες (του λειτουργικού συστήματος, όχι του διακομιστή MySQL). Σε αντίθεση με τα Windows, στα Linuxoids, η τάξη και η ασφάλεια είναι μια φυσική και αδιαπραγμάτευτη απαίτηση, η οποία αντιμετωπίζεται πάντα με πολιτισμένο τρόπο.

Σε κάθε περίπτωση, μόλις ξεκινήσει η mysql, θα το ανακοινώσει με μια προτροπή (4):

mysql>

και θα είναι δυνατή η εργασία τόσο με χρήστες όσο και με βάσεις δεδομένων.

Σημείωση. Κατά την εγκατάσταση σε περιβάλλον Windows, τα πάντα: Apache, MySQL, PHP, phpMyAdmin μπορούν να οριστούν σε προεπιλεγμένες διαδρομές, αλλά συνιστάται να χρησιμοποιείτε πιο συμπαγείς και πιο κοντινές τοποθεσίες για αυτά τα σημαντικά εργαλεία:

  • c:\SCiA\Apache;
  • c:\SCiA\PHP;
  • c:\SCiA\MySQL;
  • c:\SCiB\localhost\www\phpMyAdmin;
  • c:\SCiB\site1\www;
  • c:\SCiB\site2\www;
  • c:\SCiB\siteN\www\.

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

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

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

mysql δημιουργία χρήστη για οποιοδήποτε κεντρικό υπολογιστή
mysql δημιουργία χρήστη για οποιοδήποτε κεντρικό υπολογιστή

Σε αυτό το παράδειγμα, η εντολή δημιουργίας χρήστη δημιούργησε τον χρήστη Petrov με τον κωδικό πρόσβασης 123DFG. Εάν γίνει κάποιο σφάλμα κατά την εισαγωγή μιας εντολής, ο διακομιστής προτείνει να το διορθώσει, αλλά είναι καλύτερα να μην κάνετε ποτέ λάθη όταν εργάζεστε στη γραμμή εντολών!

Η ακόλουθη εντολή εκχώρηση όλων των προνομίων δίνει όλα τα δικαιώματα σε όλα. Η εντολή flush μπορεί να παραλειφθεί, αλλά «σκάει» το buffer των εντολών, δηλαδή διορθώνει την εκτέλεσή τους.

MySQL: δημιουργήστε έναν χρήστη και παραχωρήστε δικαιώματα στη βάση δεδομένων

Εντολή που χρησιμοποιείται στο παράδειγμα:

ΧΟΡΗΓΗΣΗ ΟΛΑ ΤΑ ΠΡΟΝΟΜΙΑ ΣΤΟ. ΣΤΟ 'Petrov'@'localhost';

Το παραχωρεί στην πραγματικότητα στον χρήστη Petrov πρόσβαση σε όλες τις βάσεις δεδομένων (πρώτος αστερίσκος) σε όλους τους πίνακες (δεύτερος αστερίσκος).

mysql δημιουργία χρήστη με όλα τα δικαιώματα
mysql δημιουργία χρήστη με όλα τα δικαιώματα

Σαν γενικός κανόνας της MySQL, η δημιουργία ενός χρήστη είναι:

GRANT [τύπος προνομίου] ON [όνομα βάσης δεδομένων].[όνομα πίνακα] ΣΕ '[user]'@'localhost';

Επιτρέπονται τα ακόλουθα προνόμια:

  • ΟΛΑ ΤΑ ΠΡΟΝΟΜΙΑ - όλα τα δικαιώματα.
  • CREATE - το δικαίωμα δημιουργίας νέων πινάκων/βάσεων δεδομένων.
  • DROP - το δικαίωμα απόθεσης πινάκων/βάσεων δεδομένων.
  • DELETE - το δικαίωμα διαγραφής πληροφοριών σε πίνακες.
  • INSERT - το δικαίωμα εγγραφής πληροφοριών σε πίνακες.
  • SELECT - το δικαίωμα ανάγνωσης πληροφοριών από πίνακες.
  • UPDATE - το δικαίωμα ενημέρωσης πληροφοριών σε πίνακες.
  • ΕΠΙΛΟΓΗ GRANT - το δικαίωμα να εργάζεσαι με τα προνόμια άλλων χρηστών.

Από πρακτική άποψη, στη MySQL η "δημιουργία χρήστη" υποδηλώνει τρεις επιλογές για δικαιώματα:

  • όλα τα δικαιώματα για όλες τις βάσεις δεδομένων και όλους τους χρήστες;
  • διαβάζω και γράφω;
  • μόνο για ανάγνωση.

Άλλες επιλογές για τη χορήγηση δικαιωμάτων σπάνια απαιτούνται. Στο περιβάλλον Linux, υπάρχουν πολύ περισσότεροι λόγοι για "νόμιμη" ελευθερία (και αναγκαιότητα), αλλά υπάρχουν πολύ περισσότερες ευκαιρίες εκεί απ' ό,τι στα Windows.

Η αντίστροφη λειτουργία του MySQL "create user" είναι πτώση.

απόθεση χρήστη 'Petrov'@'localhost';

Μετά την εκτέλεση αυτής της εντολής, ο Petrov δεν θα είναι πλέον χρήστης και τα προνόμιά του θα χαθούν. Για να αλλάξετε δικαιώματα, χρησιμοποιήστε την εντολή:

REVOKE [privilege] ON [DB].[Table] TO '[user]'@'localhost';

Η συνήθης ενέργεια στη MySQL είναι η δημιουργία ενός χρήστη ή η διαγραφή αυτού, αλλά η αλλαγή των προνομίων είναι επίσης μια έγκυρη λειτουργία (σπάνια ζητείται).

Χρήση phpMyAdmin

Υπάρχουν πολλές υλοποιήσεις αυτού του υπέροχου εργαλείου. Ανάλογα με την έκδοση του Apache, της PHP και της MySQL που χρησιμοποιείται, συχνά χρειάζεται πολύς χρόνος για να βρεθεί η σωστή έκδοση αυτού του προϊόντος, αλλά μόλις εγκατασταθεί επιτυχώς το phpMyAdmin, ο χρήστης έχει πολλές βολικές δυνατότητες και μια άνετηδιεπαφή.

mysql δημιουργία χρήστη για οποιοδήποτε κεντρικό υπολογιστή
mysql δημιουργία χρήστη για οποιοδήποτε κεντρικό υπολογιστή

Χρησιμοποιώντας το phpMyAdmin, μπορείτε να πείτε στη MySQL να δημιουργήσει έναν χρήστη για οποιοδήποτε κεντρικό υπολογιστή και να διαχειριστεί τους υπάρχοντες χρήστες με σχεδόν χειρουργικούς τρόπους.

phpMyAdmin δεν είναι το μόνο εργαλείο με άνετη, διαισθητική και πλούσια διεπαφή, αλλά είναι το πιο δημοφιλές εργαλείο για τη διαχείριση διακομιστών MySQL.

Σχετικά με τη γραμμή εντολών και την ασφάλεια

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

mysql δημιουργία χρήστη για οποιοδήποτε κεντρικό υπολογιστή
mysql δημιουργία χρήστη για οποιοδήποτε κεντρικό υπολογιστή

Οι εκδόσεις λογισμικού εξελίσσονται τόσο γρήγορα που οι προγραμματιστές απλά δεν έχουν χρόνο να συνδυάσουν τις δυνατότητες, για παράδειγμα, PHP και MySQL, MySQL και phpMyAdmin. Αν συμβεί κάτι, η γραμμή εντολών θα σώσει πάντα την ημέρα.

Δεν πρέπει επίσης ποτέ να ξεχνάμε: Η διαχείριση της MySQL αφορά μόνο την πρόσβαση στις βάσεις δεδομένων της και μέσω της λειτουργικότητάς της. Τα αρχεία της βάσης δεδομένων είναι ανοιχτά για πρόσβαση εκτός της MySQL. Η εξωτερική ασφάλεια της MySQL και των πόρων που ελέγχει είναι μια πραγματική και σημαντική ανάγκη.

Συνιστάται: