Kaip ištaisyti klaidą 1130 (HY000): pagrindiniam kompiuteriui neleidžiama prisijungti prie šio „MySQL“ serverio


Šiame trumpame straipsnyje sužinosite, kaip išspręsti „ERROR 1130 (HY000): pagrindiniam kompiuteriui x.x.x.x neleidžiama prisijungti prie šio„ MySQL “serverio“ klaidos „MySQL/MariaDB“ diegiant „Linux“ sistemoje. Tai yra viena iš dažniausiai pasitaikančių nuotolinės duomenų bazės ryšio klaidų, su kuriomis susiduria vartotojai.

  • Programų serverio IP: 10.24.96.5
  • Duomenų bazės serverio IP: 10.24.96.6

Testuodami duomenų bazės ryšį iš vieno iš mūsų programų serverių su duomenų bazių serveriu, naudodami „mysql“ klientą, kaip parodyta, įvyko klaida.

# mysql -u database_username -p -h 10.24.96.6

Klaida rodo, kad pagrindiniam kompiuteriui 10.24.96.5, iš kurio prisijungia duomenų bazės vartotojas, neleidžiama prisijungti prie „MySQL“ serverio. Tokiu atveju turime atlikti keletą duomenų bazės serverio pakeitimų, kad vartotojas galėtų prisijungti nuotoliniu būdu.

Duomenų bazės serveryje turime patikrinti pagrindinį kompiuterį, iš kurio naudotojui leidžiama prisijungti.

# mysql -u root -p

Norėdami patikrinti vartotojo pagrindinį kompiuterį, paleiskite šias SQL komandas:

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

Iš komandos išvesties vartotojui leidžiama prisijungti prie duomenų bazės serverio tik iš localhost. Taigi, turime atnaujinti vartotojo kompiuterius taip.

Paleiskite šią GRANT komandą, kad įjungtumėte MySQL prieigą nuotoliniam vartotojui iš nuotolinio kompiuterio. Būtinai pakeiskite „10.24.96.6“ nuotolinės sistemos IP adresu, o „database_password“ - slaptažodžiu, kurį norite naudoti „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";

Norėdami suteikti vartotojui nuotolinę prieigą iš visų tinklo kompiuterių, naudokite toliau pateiktą sintaksę:

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

Atlikę aukščiau nurodytus pakeitimus, pabandykite dar kartą nuotoliniu būdu prisijungti prie „MySQL“ duomenų bazės serverio. Ryšys turėtų būti sėkmingas, kaip parodyta kitoje ekrano kopijoje.

# mysql -u database_username -p -h 10.24.96.6

Tikimės, kad šis sprendimas padėjo jums išspręsti „MySQL“ nuotolinio ryšio klaidą. Jei turite kokių nors klausimų, susisiekite su mumis naudodami toliau pateiktą atsiliepimų formą.