mysql create user how create new user mysql
Αυτό το σεμινάριο εξηγεί την εντολή Δημιουργία χρήστη MySQL με διαφορετικούς μηχανισμούς εξουσιοδότησης, διαχείριση κωδικού πρόσβασης, επιλογές ορίου πόρων κ.λπ.
Η εντολή MySQL CREATE USER χρησιμοποιείται για τη δημιουργία νέων χρηστών και την παροχή λεπτομερούς πρόσβασης σε βάσεις δεδομένων / πίνακες κ.λπ.
Πολλά άτομα χρησιμοποιούν μια παρουσία διακομιστή MySQL, με διαφορετικά επίπεδα πρόσβασης. Για παράδειγμα, ορισμένοι χρήστες έχουν πρόσβαση ανάγνωσης σε μια συγκεκριμένη βάση δεδομένων, ομοίως, ορισμένοι μπορούν να έχουν πρόσβαση ανάγνωσης-εγγραφής σε μια συγκεκριμένη βάση δεδομένων κ.λπ.
Η εντολή CREATE USER χρησιμοποιείται συχνότερα από τους διαχειριστές MySQL για τη δημιουργία χρηστών για τις παρουσίες του MySQL Server και την εκχώρηση διαφορετικών αδειών χρησιμοποιώντας το ερώτημα GRANT.
Τι θα μάθετε:
Η εντολή My SQL CREATE USER
Η εντολή CREATE USER χρησιμοποιείται για τη δημιουργία ή την προσθήκη νέων λογαριασμών σε παρουσίες διακομιστή MySQL.
Αυτή η εντολή είναι γενικά προσβάσιμη / χρησιμοποιείται από τους διαχειριστές της MySQL για τη διαχείριση της πρόσβασης σε διαφορετικούς χρήστες της παρουσίας του MySQL Server.
Κατά τη δημιουργία ενός χρήστη χρησιμοποιώντας την εντολή CREATE USER, μπορείτε να καθορίσετε
ο καλύτερος επεξεργαστής κειμένου για το python mac
- Έλεγχος ταυτότητας, ο οποίος θα πρέπει να χρησιμοποιείται κατά τη σύνδεση στο MySQL.
- Όριο πόρων
- Ιδιότητες διαχείρισης κωδικού πρόσβασης: Λήξη κωδικού πρόσβασης, ρυθμίσεις επαναχρησιμοποίησης κωδικού πρόσβασης.
- Κλείδωμα λογαριασμού: Οι λογαριασμοί που δημιουργήθηκαν πρόσφατα θα ήταν κλειδωμένοι ή ξεκλείδωτοι.
Οι λογαριασμοί δημιουργούνται στον πίνακα συστήματος MySQL με το όνομα «Mysql.user»
Σημείωση: Για να χρησιμοποιήσετε την εντολή CREATE USER, ο χρήστης θα πρέπει να έχει προνόμιο CREATE_USER ή να εισάγει επιχορήγηση για MySQL σχήμα συστήματος.
Στην απλούστερη μορφή, η σύνταξη για την εντολή CREATE USER έχει ως εξής:
CREATE USER (IF NOT EXISTS) '{username}'@'{hostname}' IDENTIFIED BY '{passwordString}';
Παρατηρήστε το προαιρετικό ΕΑΝ ΔΕΝ ΥΠΑΡΧΕΙ . Αυτό διασφαλίζει ότι εάν ο χρήστης είναι ήδη υπάρχων, το αποτέλεσμα ερωτήματος SQL θα εμφανίσει απλώς μια προειδοποίηση και κανένα σφάλμα. Εδώ, «Όνομα χρήστη» αναφέρεται στο πραγματικό όνομα χρήστη με το οποίο θα συνδεθεί ο χρήστης και «Όνομα κεντρικού υπολογιστή» αναφέρεται στον κεντρικό υπολογιστή από τον οποίο θα συνδεθεί ο χρήστης.
Παρακαλώ σημειώστε, Εάν το πεδίο «όνομα κεντρικού υπολογιστή» παραμείνει κενό, η τιμή για τον κεντρικό υπολογιστή θεωρείται ότι είναι «%» που θα επέτρεπε σε οποιονδήποτε κεντρικό υπολογιστή να συνδεθεί με το καθορισμένο όνομα χρήστη.
Δημιουργήστε έναν χρήστη με αυτήν τη σύνταξη:
CREATE USER 'userx'@'localhost' IDENTIFIED BY 'password';
Με την παραπάνω δήλωση, δημιουργήσαμε έναν χρήστη με το όνομα χρήστη «userx» και τον κωδικό πρόσβασης ως «κωδικός πρόσβασης». Το όνομα κεντρικού υπολογιστή είναι localhost καθώς δημιουργούμε τους χρήστες στην τοπική παρουσία MySQL.
Ας δοκιμάσουμε να ρωτήσουμε τον πίνακα mysql.users για να δούμε την καταχώριση για τον χρήστη που δημιουργήσαμε.
SELECT * from mysql.user
Θα δείτε την έξοδο όπως παρακάτω:
Οι πρώτοι 4 χρήστες έχουν προ-δημιουργηθεί κατά τη διάρκεια της ίδιας της εγκατάστασης MySQL, ενώ η τελευταία καταχώριση είναι ο χρήστης που έχουμε δημιουργήσει - δηλαδή «userx».
Είναι σημαντικό να σημειωθεί ότι σε αυτό το σημείο μόλις δημιουργήσαμε έναν χρήστη χωρίς να παρέχουμε δικαιώματα στον χρήστη όσον αφορά τη δημιουργία / ενημέρωση / ερώτηση μιας βάσης δεδομένων κ.λπ.
Ας προσπαθήσουμε να συνδεθούμε με αυτόν τον χρήστη με τον πελάτη MySQL.
Μπορείτε να χρησιμοποιήσετε το τερματικό για να συνδεθείτε με την παρακάτω εντολή:
$ /usr/local/mysql/bin/mysql -u userx -p
Όταν σας ζητηθεί κωδικός πρόσβασης, εισαγάγετε τον κωδικό πρόσβασης ως «κωδικός πρόσβασης».
Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 33 Server version: 8.0.20 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
Τώρα, θα δημιουργήσουμε μια νέα βάση δεδομένων χρησιμοποιώντας τη λέξη-κλειδί CREATE DATABASE.
mysql> create database student; ERROR 1044 (42000): Access denied for user 'userx'@'localhost' to database 'student'
Όπως μπορείτε να δείτε παραπάνω, δημιουργείται ένα μήνυμα σφάλματος που λέει ότι ο χρήστης 'userx' δεν έχει πρόσβαση για τη δημιουργία DATABASE Ας δούμε άλλες επιλογές που θα μπορούσαν να χρησιμοποιηθούν με την εντολή CREATE USER.
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ με προσθήκη Auth
Το 'Auth plugin' καθορίζει μια επιλογή ελέγχου ταυτότητας και αποθηκεύεται στη στήλη προσθηκών του πίνακα mysql.user. Η MySQL υποστηρίζει μια χούφτα πρόσθετα ελέγχου ταυτότητας.
Ορισμένες προσθήκες που υποστηρίζονται έχουν ως εξής:
- Κατακερματισμός εγγενών κωδικών πρόσβασης MySQL: Ο κατακερματισμός εγγενών κωδικών πρόσβασης δεν είναι τίποτα άλλο από τη χρήση του SHA1 για την αποθήκευση τιμών κωδικού πρόσβασης στον πίνακα mysql.users. Αυτός ο μηχανισμός θεωρείται λιγότερο ασφαλής από τον κατακερματισμό κωδικού πρόσβασης SHA1.
- Κατακερματισμός κωδικού πρόσβασης SHA2 256: Αυτή είναι η προεπιλεγμένη προσθήκη ελέγχου ταυτότητας που χρησιμοποιείται από τη MySQL. ακόμη και αν δεν έχει καθοριστεί προσθήκη ελέγχου ταυτότητας με την εντολή CREATE_USER, από προεπιλογή θα εφαρμοστεί αυτό το πρόσθετο.
- Εξωτερικός έλεγχος ταυτότητας με χρήση LDAP: Το LDAP χρησιμοποιείται γενικά για τη σύνδεση του ελέγχου ταυτότητας MySQL με τον ενεργό κατάλογο του οργανισμού. Για παράδειγμα, έλεγχος ταυτότητας χρησιμοποιώντας το Google SSO, OAuth ή το Microsoft Outlook LDAP. Αυτό απαιτεί εγκατάσταση πρόσθετου LDAP και από την πλευρά της MySQL. Για περισσότερες λεπτομέρειες, μπορείτε να ανατρέξετε εδώ.
>> Ανατρέξτε εδώ για μια πλήρη λίστα υποστηριζόμενων προσθηκών.
Ας προσπαθήσουμε να δημιουργήσουμε έναν χρήστη με μια προεπιλεγμένη προσθήκη ελέγχου ταυτότητας και προσθήκη SHA2 και τις αντίστοιχες τιμές κατακερματισμού στον πίνακα mysql.users. Πρώτον, θα δημιουργήσουμε έναν χρήστη με προεπιλεγμένο έλεγχο ταυτότητας, που είναι (SHA2) και θα δούμε τι είναι αποθηκευμένο στο mysql.user τραπέζι.
CREATE USER IF NOT EXISTS 'user-default'@'localhost' IDENTIFIED BY 'P@ssw0rd'
Ας δούμε την προσθήκη ελέγχου ταυτότητας για αυτόν τον χρήστη «προεπιλογή χρήστη» στον πίνακα mysql.users:
SELECT host,user,plugin,authentication_string from mysql.user where user='user-default'
Εδώ στο authentication_string, μπορείτε να δείτε την τιμή SHA-256 για τη συμβολοσειρά κωδικού πρόσβασης - «P @ ssw0rd».
Ας δημιουργήσουμε τώρα έναν χρήστη με μια προσθήκη ελέγχου ταυτότητας. 'MySQL εγγενής κωδικός πρόσβασης' και δείτε ποια είναι η αξία της προσθήκης που αποθηκεύεται.
CREATE USER IF NOT EXISTS 'user-sha1'@'localhost' IDENTIFIED WITH mysql_native_password BY 'P@ssw0rd'
SELECT host,user,plugin,authentication_string from mysql.user where user='user-sha1'
ερωτήσεις και απαντήσεις για συνέντευξη διακομιστή sql για 5 χρόνια
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ Με Ρόλο
Η MySQL παρέχει επίσης εκχώρηση προκαθορισμένων ρόλων σε νέους χρήστες. Αυτοί οι ρόλοι έχουν ήδη διαμορφωμένη πρόσβαση σε ορισμένες ή σε όλες τις βάσεις δεδομένων (οι οποίες θα μπορούσαν επίσης να προσαρμοστούν), για παράδειγμα, θα μπορούσε να δημιουργηθεί ένας ρόλος με το όνομα «προγραμματιστής», ο οποίος θα μπορούσε να εκχωρηθεί όλα τα δικαιώματα σε μια βάση δεδομένων και αργότερα μπορούμε να χρησιμοποιήσουμε τον ίδιο ρόλο για να εκχωρήσουμε σε νέους χρήστες.
Ας το δούμε με ένα παράδειγμα:
- Δημιουργήστε έναν ρόλο με όνομα προγραμματιστή
CREATE ROLE 'developer'
- Δημιουργήστε μια βάση δεδομένων με το όνομα 'test'
CREATE DATABASE test
- Εκχωρήστε προνόμια για να δοκιμάσετε τη βάση δεδομένων για το ρόλο του «προγραμματιστή»
GRANT ALL ON test.* TO 'developer'
- Δημιουργήστε χρήστη και εκχωρήστε ρόλο προγραμματιστή
CREATE USER IF NOT EXISTS 'user-with-role'@'localhost' DEFAULT ROLE developer;
- Επικυρώστε τον χρήστη μπορεί να δημιουργήσει έναν πίνακα στη βάση δεδομένων δοκιμής
Ας προσπαθήσουμε να συνδεθούμε με τον χρήστη που ονομάζεται 'user-with-role' και θα προσπαθήσουμε να δημιουργήσουμε έναν νέο πίνακα στη δοκιμαστική βάση δεδομένων.
$ /usr/local/mysql/bin/mysql -u user-with-role Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 44 Server version: 8.0.20 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> use test; Database changed mysql> create table test_table(name varchar(20)); Query OK, 0 rows affected (0.07 sec)
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ Με SSL / TLS
Η δημιουργία ενός χρήστη με επιλογές SSL / TLS θα απαιτούσε εγκατεστημένα πιστοποιητικά SSL τόσο στον πελάτη όσο και στον διακομιστή. Από προεπιλογή, το SSL δεν έχει ρυθμιστεί για MySQL.
Ακολουθήστε αυτά βήματα για να ρυθμίσετε το SSL για την παρουσία διακομιστή MySQL.
Για να δημιουργήσετε έναν χρήστη με ενεργοποιημένο το SSL, μπορείτε να χρησιμοποιήσετε την επιλογή REQUIRE SSL κατά τη δημιουργία του χρήστη.
CREATE USER 'user-with-ssl'@'localhost' REQUIRE SSL;
Ομοίως, η δημιουργία χρησιμοποιώντας το X509 θα περίμενε ο πελάτης / χρήστης να συνδεθεί για να έχει ένα έγκυρο πιστοποιητικό X509.
>> Ανατρέξτε εδώ να κατανοήσουμε περισσότερα για το X509.
Για να δημιουργήσετε έναν χρήστη με πιστοποιητικό X509, χρησιμοποιήστε το παρακάτω ερώτημα:
CREATE USER 'user-with-x509'@'localhost' REQUIRE X509;
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ με Επιλογές διαχείρισης κωδικού πρόσβασης
Οι επιλογές κωδικού πρόσβασης χρησιμοποιούνται για τον καθορισμό πολιτικής σχετικά με τον κωδικό πρόσβασης κατά τη δημιουργία ενός χρήστη χρησιμοποιώντας την εντολή ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ.
# 1) Λήξη του κωδικού πρόσβασης κατά τη σύνδεση. Ο κωδικός πρόσβασης λήγει μετά την πρώτη χρήση και ζητά από τους χρήστες να αλλάξουν τον κωδικό πρόσβασης.
CREATE USER IF NOT EXISTS 'test'@'localhost' IDENTIFIED BY 'Password' PASSWORD EXPIRE;
#δύο) Λήξη του κωδικού πρόσβασης μετά από καθορισμένο διάστημα. Η λήξη κωδικού πρόσβασης μπορεί να διαμορφωθεί με το διαμορφωμένο διάστημα, για παράδειγμα, 90 ημέρες.
CREATE USER IF NOT EXISTS 'test'@'localhost' IDENTIFIED BY 'Password' PASSWORD EXPIRE INTERVAL 90 DAY;
# 3) Ο κωδικός πρόσβασης κλειδώνεται μετά από διαμορφωμένες προσπάθειες επανάληψης. Πολλές φορές, είναι επιθυμητό να κλειδωθεί ο λογαριασμός χρήστη (για μια διαμορφωμένη περίοδο) μετά από εσφαλμένες προσπάθειες «n». Στο παρακάτω ερώτημα, ο λογαριασμός χρήστη θα κλειδωθεί για 2 ημέρες μετά από 5 εσφαλμένες προσπάθειες.
CREATE USER 'test'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password' FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 2;
# 4) Ο νέος κωδικός πρόσβασης δεν πρέπει να είναι ίδιος με τους διαμορφωμένους προηγούμενους κωδικούς πρόσβασης.
Στο παρακάτω ερώτημα, ο νέος κωδικός πρόσβασης που έχουν οριστεί από τους χρήστες δεν πρέπει να είναι ίδιος με τους προηγούμενους 2 κωδικούς πρόσβασης.
CREATE USER IF NOT EXISTS 'test'@'localhost' IDENTIFIED BY 'Password' PASSWORD EXPIRE PASSWORD HISTORY 2;
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ Με Επιλογές Ορίου Πόρων
Απαιτούνται όρια πόρων ειδικά για την παραγωγή παρουσιών MySQL, προκειμένου να αποφευχθεί η κατάρρευση της βάσης δεδομένων από ερωτήματα / αιτήματα από έναν μόνο χρήστη και τα οποία θα μπορούσαν να επηρεάσουν την απόδοση του διακομιστή MySQL.
Μπορούμε να ορίσουμε τα όρια πόρων χρησιμοποιώντας οποιαδήποτε από τις παρακάτω τρεις επιλογές:
# 1) MAX_QUERIES_PER_HOUR - Αριθμός επιτρεπόμενων ερωτημάτων για έναν συγκεκριμένο χρήστη ανά ώρα.
CREATE USER 'user-with-resource-limits'@'localhost' WITH MAX_QUERIES_PER_HOUR 5
Ας υποθέσουμε ότι εάν ο χρήστης προσπαθήσει να ξεπεράσει περισσότερα από 5 ερωτήματα ανά ώρα, ο διακομιστής MySQL θα εμφανίσει ένα σφάλμα όπως παρακάτω:
ERROR 1226 (42000): User 'user-with-resource-limits' has exceeded the 'max_questions' resource (current value: 5)
# 2) MAX_UPDATES_PER_HOUR - Αριθμός επιτρεπόμενων ερωτημάτων ενημέρωσης για έναν συγκεκριμένο χρήστη ανά ώρα.
CREATE USER 'user-with-resource-limits'@'localhost' WITH MAX_UPDATES_PER_HOUR 50
# 3) MAX_CONNECTIONS_PER_HOUR - Ο αριθμός των φορών που ένας λογαριασμός μπορεί να συνδεθεί στο διακομιστή ανά ώρα.
CREATE USER 'user-with-resource-limits'@'localhost' WITH MAX_CONNECTIONS_PER_HOUR 50
# 4) MAX_USER_CONNECTIONS - Ο αριθμός των ταυτόχρονων συνδέσεων με την παρουσία διακομιστή MySQL από τον συγκεκριμένο χρήστη.
CREATE USER 'user-with-resource-limits'@'localhost' WITH MAX_USER_CONNECTIONS 50
Λάβετε υπόψη ότι όλες οι παραπάνω επιλογές θα μπορούσαν επίσης να συνδυαστούν κατά τη δημιουργία ενός χρήστη. Ας υποθέσουμε ότι εάν θέλουμε να ορίσουμε MAX_QUERIES ως 10 και MAX_UPDATES ως 100, τότε μπορούμε να έχουμε ένα μόνο ερώτημα CREATE_USER ως:
CREATE USER 'user-with-resource-limits'@'localhost' WITH MAX_UPDATES_PER_HOUR 100 MAX_QUERIES_PER_HOUR 10
MySQL Ενημέρωση και Διαγραφή χρηστών
Η MySQL παρέχει 2 σημαντικές εντολές - ALTER USER και DROP USER για τροποποίηση και διαγραφή υπαρχόντων χρηστών, αντίστοιχα. Ας καταλάβουμε και τα δύο χρησιμοποιώντας παραδείγματα.
ALTER ΧΡΗΣΤΗΣ
Το MySQL ALTER USER χρησιμοποιείται για την ενημέρωση / τροποποίηση υπαρχόντων λογαριασμών χρηστών MySQL. Μπορεί να χρησιμοποιηθεί,
- Ενημέρωση ορίων πόρων
- Ορίστε επιλογές κωδικού πρόσβασης
- Κλείδωμα και ξεκλείδωμα λογαριασμών κ.λπ.
Ας δούμε ένα παράδειγμα χρήσης του ALTER USER για να ξεκλειδώσετε έναν κλειδωμένο λογαριασμό.
Δημιουργήστε έναν χρήστη σε κατάσταση κλειδώματος και, στη συνέχεια, ξεκλειδώστε τον με την εντολή ALTER USER.
CREATE USER 'test'@'localhost'I DENTIFIED BY 'Password' ACCOUNT LOCK;
Τώρα, κατά τη σύνδεση με αυτόν τον χρήστη, θα λάβουμε ένα μήνυμα κλειδωμένου λογαριασμού (καθώς ο χρήστης δημιουργήθηκε σε κατάσταση κλειδωμένου λογαριασμού).
$ /usr/local/mysql/bin/mysql -u test -p Enter password: ERROR 3118 (HY000): Access denied for user 'test'@'localhost'. Account is locked.
Χρησιμοποιήστε το παρακάτω ερώτημα για ξεκλείδωμα του χρήστη με την εντολή ALTER.
ALTER USER 'test'@'localhost' ACCOUNT UNLOCK
Συνδεθείτε με τον χρήστη με τον πελάτη MySQL:
$ /usr/local/mysql/bin/mysql -u test -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 50 Server version: 8.0.20 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
ΣΤΑΣΤΕ ΧΡΗΣΤΗ
Η εντολή MySQL DROP USER καταργεί έναν ή περισσότερους υπάρχοντες χρήστες και όλα τα σχετικά προνόμια και επιχορηγήσεις.
Λάβετε υπόψη ότι δεν θα καταργήσει / διαγράψει δεδομένα που έχουν εισαχθεί / πίνακες που δημιουργούνται ή ενημερώνονται από τον χρήστη, τα οποία διαγράφονται.
Εάν κάποιος προσπαθήσει να διαγράψει έναν μη υπάρχοντα χρήστη, η εντολή DROP USER θα προκαλούσε σφάλμα.
Ας δημιουργήσουμε έναν χρήστη και διαγράψτε τον χρησιμοποιώντας την εντολή DROP:
CREATE USER 'test'@'localhost'; DROP USER 'test'@'localhost';
Συχνές Ερωτήσεις
Q # 1) Τι είναι ο χρήστης στη MySQL;
Απάντηση: Ο χρήστης στη MySQL είναι ένας λογαριασμός / οντότητα που μπορεί να συνδεθεί στην παρουσία διακομιστή MySQL και να εκτελέσει διαφορετικές λειτουργίες. Σε έναν χρήστη μπορεί να εκχωρηθεί πρόσβαση βάσει ρόλου ή αναλυτική πρόσβαση σε μία ή περισσότερες βάσεις δεδομένων ή / και πίνακες.
Q # 2) Πώς να ελέγξετε διαφορετικούς χρήστες που είναι συνδεδεμένοι στη MySQL;
Απάντηση: Για να δείτε τις ενεργές περιόδους σύνδεσης χρήστη σε μια παρουσία διακομιστή MySQL, μπορείτε να εκτελέσετε την εντολή της λίστας διεργασιών όπως παρακάτω.
SHOW processlist;
Η έξοδος αυτής της εντολής θα εμφανίζει διαφορετικά χαρακτηριστικά των συνεδριών του ενεργού χρήστη που συνδέονται κατά τη στιγμή της εκτέλεσης της εντολής.
Παραγωγή δείγματος παρακάτω:
Q # 3) Πώς μπορώ να αλλάξω χρήστες στο MySQL;
Απάντηση: Η MySQL λειτουργεί με την έννοια των συνεδριών χρήστη. Όταν είστε συνδεδεμένοι με έναν συγκεκριμένο χρήστη, μπορείτε είτε να προγραμματίσετε να τερματίσετε τη συνεδρία είτε να ανοίξετε μια περίοδο λειτουργίας εναντίον ενός νέου χρήστη σε ένα νέο παράθυρο ή ως μια νέα σύνδεση σε πελάτες MySQL GUI όπως ένας πάγκος εργασίας.
Για να συνδεθείτε με έναν συγκεκριμένο χρήστη από το mysql client μπορείτε να χρησιμοποιήσετε την παρακάτω σύνταξη:
mysql -u {userName} -p
Αφού γράψετε την παραπάνω εντολή, μόλις πατήσετε Enter, θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης για τον χρήστη που καθορίζεται στο πεδίο {userName}. Μόλις επικυρωθεί ο κωδικός πρόσβασης, θα μεταφερθείτε στο κέλυφος / γραμμή εντολών MySQL.
Για να συνδεθείτε με ξεχωριστό χρήστη, μπορείτε να τερματίσετε την τρέχουσα περίοδο εισάγοντας την εντολή εξόδου και να συνδεθείτε ξανά με έναν άλλο χρήστη.
mysql> exit
Είναι επίσης δυνατό να έχετε πολλές συνδέσεις με τις παρουσίες διακομιστή MySQL για διαφορετικούς χρήστες. Μπορείτε απλά να ανοίξετε μια νέα καρτέλα / παράθυρο για τη γραμμή εντολών και να χρησιμοποιήσετε την ίδια εντολή για να συνδεθείτε με έναν άλλο χρήστη.
mysql -u {userName2} -p
Q # 4) Πώς να κάνετε έναν χρήστη MySQL μόνο για ανάγνωση;
Απάντηση: Η MySQL παρέχει έναν εξαντλητικό μηχανισμό για την παροχή λεπτομερούς πρόσβασης σε βάσεις δεδομένων ή πίνακες. Μπορείτε να παρέχετε διαφορετικά είδη πρόσβασης όπως ΕΠΙΛΟΓΗ, ΕΝΗΜΕΡΩΣΗ, ΕΙΣΑΓΩΓΗ κ.λπ. σε μία ή πολλές βάσεις δεδομένων ή πίνακες.
Για να παραχωρήσετε πρόσβαση μόνο για ανάγνωση σε έναν χρήστη, μπορείτε να εκχωρήσετε SELECT πρόσβαση σε μια βάση δεδομένων (χρησιμοποιώντας * για όλους τους πίνακες ή αναφέροντας ρητά το όνομα του πίνακα σύμφωνα με την απαίτηση)
Ας το καταλάβουμε με τη βοήθεια ενός παραδείγματος παρακάτω:
Δημιουργούμε έναν χρήστη που ονομάζεται «readaccess» με κωδικό πρόσβασης ως «Κωδικός πρόσβασης»
create user 'readaccess'@'localhost' IDENTIFIED BY 'Password'
Τώρα, παραχωρήστε πρόσβαση ανάγνωσης σε όλους τους πίνακες μιας βάσης δεδομένων με την ονομασία 'test' χρησιμοποιώντας τη λέξη-κλειδί GRANT στη MySQL
grant select on test.* to 'readaccess'@'localhost'
Τώρα, για να επικυρώσετε την πρόσβαση, μπορείτε να συνδεθείτε με αυτόν τον χρήστη που ονομάζεται «readaccess» και να δοκιμάσετε να ρωτήσετε τους πίνακες μέσα στη βάση δεδομένων «δοκιμή».
Ωστόσο, εάν προσπαθήσετε να εισαγάγετε δεδομένα σε οποιονδήποτε από τους πίνακες μέσα στη δοκιμαστική βάση δεδομένων, τότε θα λάβετε ένα σφάλμα άρνησης πρόσβασης, δεδομένου ότι μόλις παραχωρήσαμε ρητά πρόσβαση ανάγνωσης σε αυτόν τον χρήστη.
Ε # 5) Πώς βλέπω τους χρήστες στη MySQL;
Απάντηση: Η MySQL έχει έναν πίνακα επιπέδου συστήματος που ονομάζεται «mysql.user», ο οποίος περιέχει μια λίστα με όλους τους χρήστες που έχουν δημιουργηθεί για την παρουσία του διακομιστή MySQL. Τα δικαιώματα αυτού του πίνακα περιορίζονται γενικά σε χρήστες root ή διαχειριστές ή σε κάποιον που διαχειρίζεται τον έλεγχο ταυτότητας και την εξουσιοδότηση για την παρουσία διακομιστή MySQL.
Q # 6) Πώς να βρείτε το όνομα και τον κωδικό πρόσβασης του χρήστη MySQL;
Απάντηση: Η αντιστοίχιση χρηστών και κωδικών πρόσβασης MySQL αποθηκεύεται στον πίνακα συστήματος «mysql.user», ο οποίος είναι πίνακας περιορισμένης πρόσβασης. Ο κωδικός πρόσβασης αποθηκεύεται σε κρυπτογραφημένη μορφή ανάλογα με τη λειτουργία κρυπτογράφησης που επιλέχθηκε κατά τη δημιουργία του χρήστη.
Ωστόσο, εάν ο λογαριασμός κάποιου είναι κλειδωμένος, η MySQL παρέχει μια άλλη εντολή που ονομάζεται ALTER USER, η οποία μπορεί να χρησιμοποιηθεί για το ξεκλείδωμα ενός δεδομένου λογαριασμού χρήστη.
απαιτείται έλεγχος ταυτότητας όνομα χρήστη και κωδικός πρόσβασης δρομολογητή
συμπέρασμα
Σε αυτό το σεμινάριο, μάθαμε για την εντολή MySQL CREATE USER, η οποία χρησιμοποιείται για έλεγχο ταυτότητας και πρόσβασης γενικά από διαχειριστές βάσης δεδομένων.
Η MySQL παρέχει πολλούς ισχυρούς μηχανισμούς ελέγχου ταυτότητας και αναθέσεις βάσει ρόλων που επιτρέπουν τη δημιουργία νέων χρηστών με προκαθορισμένες παραχωρήσεις πρόσβασης. Είδαμε επίσης παραδείγματα για τη δημιουργία χρηστών με διαφορετικούς μηχανισμούς εξουσιοδότησης, διαφορετικές ρυθμίσεις κωδικού πρόσβασης, επιλογές λήξης κ.λπ.
Συνιστώμενη ανάγνωση
- Πώς να κατεβάσετε το MySQL για Windows και Mac
- MySQL Δημιουργία εκπαιδευτικού προγράμματος με παραδείγματα κώδικα
- MySQL Δημιουργία εκπαιδευτικού πίνακα με παραδείγματα
- 31 Κορυφαίες ερωτήσεις και απαντήσεις για συνέντευξη δοκιμής βάσης δεδομένων
- Οδηγός Κανονικοποίησης Βάσης Δεδομένων: 1NF 2NF 3NF BCNF Παραδείγματα
- Πλήρης οδηγός δοκιμών βάσης δεδομένων (Γιατί, τι και πώς να δοκιμάσετε δεδομένα)
- MongoDB Δημιουργία αντιγράφων ασφαλείας βάσης δεδομένων
- MongoDB Δημιουργία χρήστη και εκχώρηση ρόλων με παραδείγματα