Πώς να διορθώσετε το ΣΦΑΛΜΑ 1130 (HY000): Ο κεντρικός υπολογιστής δεν επιτρέπεται να συνδεθεί σε αυτόν τον διακομιστή MySQL


Σε αυτό το σύντομο άρθρο, θα μάθετε πώς να λύσετε το σφάλμα \ΣΦΑΛΜΑ 1130 (HY000): Ο κεντρικός υπολογιστής x.x.x.x δεν επιτρέπεται να συνδεθεί σε αυτόν τον διακομιστή MySQL” στην ανάπτυξη βάσης δεδομένων MySQL/MariaDB σε σύστημα Linux Αυτό είναι ένα από τα συνηθισμένα σφάλματα σύνδεσης απομακρυσμένης βάσης δεδομένων που αντιμετωπίζουν οι χρήστες.

Περιβάλλον δοκιμής:

  • IP διακομιστή εφαρμογής: 10.24.96.5
  • IP διακομιστή βάσης δεδομένων: 10.24.96.6

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

# mysql -u database_username -p -h 10.24.96.6

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

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

# mysql -u root -p

Εκτελέστε τις ακόλουθες εντολές SQL για να ελέγξετε τον κεντρικό υπολογιστή του χρήστη:

MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

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

Εκτελέστε την ακόλουθη εντολή GRANT για να ενεργοποιήσετε την πρόσβαση MySQL για τον απομακρυσμένο χρήστη από έναν απομακρυσμένο κεντρικό υπολογιστή. Βεβαιωθείτε ότι έχετε αντικαταστήσει το \10.24.96.6 με τη διεύθυνση IP του απομακρυσμένου συστήματος και το \database_password με τον κωδικό πρόσβασης που θέλετε \database_username ” για χρήση:

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

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

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';

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

# mysql -u database_username -p -h 10.24.96.6

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