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

Θέλω να δημιουργήσω έναν νέο χρήστη στη MySQL και να του δώσω πλήρη πρόσβαση μόνο σε μια βάση δεδομένων, ας πούμε dbTest, την οποία δημιουργώ με μια εντολή όπως create database dbTest;. Ποιες είναι οι εντολές της MySQL για να το κάνω αυτό;

Δοκιμάστε αυτό για να δημιουργήσετε τον χρήστη:

CREATE USER 'user'@'hostname';

Δοκιμάστε αυτό για να του δώσετε πρόσβαση στη βάση δεδομένων dbTest:

GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';

Αν εκτελείτε τον κώδικα/το site που έχει πρόσβαση στη MySQL στο ίδιο μηχάνημα, το όνομα κεντρικού υπολογιστή θα είναι localhost.

Τώρα, η ανάλυση.

GRANT - Αυτή είναι η εντολή που χρησιμοποιείται για τη δημιουργία χρηστών και την παραχώρηση δικαιωμάτων σε βάσεις δεδομένων, πίνακες κ.λπ.

ALL PRIVILEGES - Αυτή η εντολή λέει ότι ο χρήστης θα έχει όλα τα τυπικά προνόμια. Ωστόσο, αυτό δεν περιλαμβάνει το δικαίωμα χρήσης της εντολής GRANT.

dbtest.* - Αυτό δίνει εντολή στη MySQL να εφαρμόσει αυτά τα δικαιώματα για χρήση σε ολόκληρη τη βάση δεδομένων dbtest. Μπορείτε να αντικαταστήσετε το * με συγκεκριμένα ονόματα πινάκων ή ρουτίνες αποθήκευσης αν θέλετε.

TO 'user'@'hostname' - Το 'user' είναι το όνομα χρήστη του λογαριασμού χρήστη που δημιουργείτε. Σημείωση: Πρέπει να έχετε τα μονά εισαγωγικά εκεί μέσα. 'hostname' λέει στη MySQL από ποιους hosts μπορεί να συνδεθεί ο χρήστης. Αν θέλετε να το κάνετε μόνο από τον ίδιο υπολογιστή, χρησιμοποιήστε localhost.

IDENTIFIED BY 'password' - Όπως θα μαντέψατε, αυτό ορίζει τον κωδικό πρόσβασης για αυτόν τον χρήστη.

Σχόλια (10)

Για να δημιουργήσετε έναν χρήστη και να εκχωρήσετε όλα τα προνόμια σε μια βάση δεδομένων.

Συνδεθείτε στη MySQL:

mysql -u root

Τώρα δημιουργήστε και παραχωρήστε

GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';

Ανώνυμος χρήστης (μόνο για τοπικές δοκιμές)

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

GRANT ALL PRIVILEGES ON dbTest.* To ''@'hostname'

Προσοχή

Αυτό είναι καλό για άχρηστα δεδομένα στην ανάπτυξη. Μην το κάνετε αυτό με οτιδήποτε σας ενδιαφέρει.

Σχόλια (4)

Μπορείτε να δημιουργήσετε νέους χρήστες χρησιμοποιώντας την εντολή CREATE USER και να τους δώσετε δικαιώματα χρησιμοποιώντας την εντολή GRANT.

Σχόλια (1)