
Όταν δουλεύουμε με βάσεις δεδομένων, Μερικές φορές μπορεί να έχουμε την ανάγκη για κάποιο προσβάσεις χρηστών Ορισμένοι από αυτούς, Ίσως ενώ είμαστε στην ανάπτυξη στάδια είτε επειδή χρειαζόμαστε αυτούς τους χρήστες να κάνουν ή για να δημιουργήσετε κάθε είδους έκθεσης ή στατιστικά στοιχεία, Αλλά χωρίς Αυτό Μπορείτε να εκτελέσετε οποιοδήποτε είδος της αλλαγή με τον ίδιο.
Για να γίνει αυτό, Είναι δημιουργία, στον κεντρικό διακομιστή, στοιχεία μιας χρήστη έχοντας μόνο δικαιώματα για την εκτέλεση διαβουλεύσεις, αποφυγή που μπορεί να εκτελέσει προσθήκες, ενημερωμένες εκδόσεις ή την εκτέλεση οποιαδήποτε άλλη λειτουργία στην εν λόγω βάση δεδομένων.
Πώς να προσθέσετε ένα χρήστη μόνο για ανάγνωση σε μια βάση δεδομένων MySQL
Είναι κάτι αρκετά απλή δημιουργήσετε και να τους δώσει προνόμια του μόνο για ανάγνωση σε ένα χρήστη σε ένα βάση δεδομένων MySQL, και ας δούμε πώς μπορείτε να το κάνετε.
Για να γίνει αυτό, συνδεθείτε, μέσα από την Κονσόλα ή τερματικό, στη βάση δεδομένων MySQL του διακομιστή σας με έναν λογαριασμό που σας επιτρέπει να δημιουργήσετε χρήστες και να εκχωρήσετε δικαιώματα, κανονικά ρίζα ή οποιοδήποτε άλλο παρόμοιο λογαριασμό.
Μια φορά συνδεδεμένοι, δημιουργεί ο χρήστης Πώς θα κάνετε συνήθως αυτό:
1 | mysql > CREATE USER 'nombre_usuario'@'%' IDENTIFIED by 'contrasena'; |
Πώς το ξέρεις, αντικαθιστά όνομα_χρήστη τον χρήστη που θέλετε να δημιουργήσετε, Κωδικός πρόσβασης τον κωδικό πρόσβασης που θέλετε να αντιστοιχίσετε, και ανάλογα με τον τύπο πρόσβασης που θέλετε για αυτόν το χρήστη, Μπορείτε να αφήσετε % τέτοια είναι ή μπορείτε να αντιστοιχίσετε το IP ή κεντρικό όνομα από την οποία αυτή ενός χρήστη θα μπορούν να συνδεθούν.
Μόλις δημιουργήθηκε ο χρήστης, Θα δώσει άδεια μόνο για ΕΠΙΛΟΓΉ λειτουργιών με βάση τα στοιχεία. Για να γίνει αυτό, Εκτελέστε την ακόλουθη εντολή:
1 | mysql > GRANT SELECT ON *.* TO 'nombre_usuario'@'%'; |
Με αυτό τον τρόπο δίνετε δικαίωμα μόνο για ανάγνωση Για αυτόν το χρήστη Όλες οι βάσεις δεδομένων Διακομιστή, Αν και Μπορείτε να περιορίσετε ακόμη περισσότερα προνόμια, και μπορεί να δώσει άδεια για μια ενιαία βάση δεδομένων, απλά με αυτόν τον τρόπο:
1 | mysql > GRANT SELECT ON nombre_base_de_datos.* TO 'nombre_usuario'@'%'; |
Μια φορά δημιουργήθηκε ο χρήστης και εκχωρημένη προνόμια, μπορεί να η δοκιμή διενεργείται Αυτοί λειτουργούν σωστά. Για να γίνει αυτό, η προηγούμενη περίοδος λειτουργίας κλείνει με το διακομιστή και ανοίγει ένα νέα περίοδο λειτουργίας με αυτό το χρήστη:
1 | $ mysql -u nombre_usuario -p |
Μια φορά συνδεδεμένοι, Επιλέξτε τη βάση δεδομένων στην οποία έχετε δώσει άδεια και δοκιμή να κάνει μια Εισαγωγή ή ενημέρωση υπάρχοντα δεδομένα:
1 2 3 | mysql > USE nombre_base_de_datos; mysql > UPDATE nombre_tabla SET nombre_campo = 'valor_campo' WHERE ID = identificador; ERROR 1142 (42000): UPDATE command denied to user 'nombre_usuario'@'%localhost' for table 'nombre_tabla'; |
Είστε έτοιμοι! Μπορείτε να δημιουργήσετε μόνο ένα νέος χρήστης σε σας Βάση δεδομένων MySQL και έχετε κάνει έχουν μόνο προνόμια του μόνο για ανάγνωση, αποφυγή αυτό κάνουν κάποιο είδος της αλλαγής στις βάσεις δεδομένων στις οποίες έχετε πρόσβαση.
