Mai mult
Host 'xxx.xx.xxx.xxx' nu este permis să se conecteze la acest server MySQL
Acest lucru ar trebui să fie mort de simplu, dar nu nu ia-l să lucreze pentru viața de mine. Am'm doar încearcă să se conecteze de la distanță la serverul meu MySQL.
conectarea ca
mysql -u root -h localhost -p
funcționează bine, dar încearcă
mysql -u root -h 'any ip address here' -p
eșuează cu eroarea
ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
În anii `mysql.utilizator masa, acolo este exact același intrare pentru utilizator 'rădăcină' cu host 'localhost' ca un alt host '%'.
Am'm la inteligența mea' end, și nu au nici o idee cum să procedeze. Orice idei sunt binevenite.
622
24
Eventual o măsură de precauție. Ai putea încerca adăugarea unui nou cont de administrator:
Deși ca Pascal și alții au remarcat-o's nu este o idee bună de a avea un utilizator cu acest tip de acces deschis la orice IP. Dacă aveți nevoie de un utilizator administrativ, utilizarea de rădăcină, și lăsați-l pe localhost. Pentru orice alta actiune specifica exact privilegiile de care aveți nevoie și limita de accesibilitate a utilizatorului ca Pascal a sugera mai jos.
Edit:
Din MySQL FAQ:
Unul are pentru a crea un nou Utilizator MySQL și atribui privilegii ca mai jos în Interogare prompt` prin phpMyAdmin sau command prompt:
Odată terminat cu toate cele patru întrebări, ar trebui să se conecteze cu numele de utilizator / parola`
Meu mesaj de eroare similară a fost și a spus 'Host XXX nu este permis să se conecteze la acest server MySQL' chiar dacă am fost folosind rădăcină. Aici's cum să vă asigurați că rădăcina are permisiunile corecte.
Mea setup:
Soluție
mysql -u root -p Introduceți parola: mysql>ACORDA TOATE ON . la rădăcină@'123.123.123.123' IDENTIFICATE PRIN 'pune-ți-parola'; mysql>CULOARE PRIVILEGII; mysql>ieșire
Ai nevoie de a acorda acces la utilizatorul de la orice gazdă.
Acest lucru este cum să adăugați noi privilegiul de phpmyadmin
Du-te la Privilegii > Adăugați un Utilizator nou
Selectați Orice Gazdă pentru utilizator dorit
Doar să efectuați următorii pași:
Mesajul `*Host ''xxx.xx.xxx.xxx'' nu este permis să se conecteze la acest server MySQL este un răspuns de la serverul MySQL la MySQL client. Observa cum se întoarce adresa IP și nu hostname.
Daca're încercarea de a conecta cu mysql -h<hostname - > -u -p` și returnează acest mesaj cu adresa de IP, atunci serverul MySQL e't de capabil de a face o căutare inversă pe client. Acest lucru este critic, pentru că asta e modul în care acesta hărți client MySQL pentru a granturilor.
Asigurați-vă că puteți face o
nslookup <mysqlclient> DE la serverul MySQL. Dacă asta nu't de lucru, atunci nu's nici o intrare în serverul DNS. Alternativ, puteți pune o intrare în serverul MySQL's HOSTS (
` <- ordinul De aici s-ar putea contează).O intrare în serverul meu's găzdui fișierul care să permită o căutare inversă de client MySQL rezolvat această problemă.
Dacă modificați grant tabele manual (folosind INSERT, UPDATE, etc.), tu ar trebui să execute o CULOARE PRIVILEGII declarația a spune server pentru a reîncărca tabele de grant.
PS: m-am n't recomanda pentru a permite orice gazdă pentru a vă conecta pentru orice utilizator (mai ales la "radacina" utilizare). Dacă utilizați mysql pentru o aplicație client/server, prefer o adresa de subrețea. Dacă utilizați mysql cu un server web sau un server de aplicații, utilizați anumite ip-uri.
Mod simplu:
apoi
done!
Cele mai multe răspunsuri aici vă arăt crearea utilizatorilor cu gazdă două valori: una pentru "localhost", și unul pentru
%
.Vă rugăm să rețineți că, cu excepția pentru un built-in localhost ca utilizator root, nu't nevoie pentru a face acest lucru. Dacă pur și simplu doriți pentru a face un nou utilizator, care pot loga de oriunde, puteți utiliza
și acesta va funcționa bine. (Cum au menționat și alții, l's o idee teribil de a acorda privilegii administrative de la un utilizator din orice domeniu.)
Doar folosi interfața furnizată de MySql's GUI Tool (SQLyog):
Faceți clic pe User manager:
Acum, dacă doriți să acorde acces PENTRU ORICE ALTE PC de la DISTANȚĂ, asigurați-vă doar că, la fel ca în sub imagine, Gazda valoarea câmpului este % (care este wildcard)
simplu mod este de a vă phpmyadmin cu contul de root , acolo du-te la baza de date mysql și selectați tabelul de utilizare , acolo edita contul de root și în gazdă domeniul adăuga % wild card . și apoi prin ssh privilegii culoare
Doar găsi o cale mai bună de a face asta de la hosting panoul de control (I'm folosind DirectAdmin aici)
pur și simplu du-te la țintă server DB în panoul de control, în cazul meu: MySQL administrare -> selectați DB -> veți găsi: "Acces Gazde", pur și simplu adăugați gazdă de la distanță și de lucru acum!
Cred că nu este o opțiune similară pe cealaltă C. panouri ca plesk, etc..
Am'm sper că a fost util pentru tine.
Dacă acesta este un recent mysql instalat, apoi înainte de a schimba ceva, încercați pur și simplu pentru a executa această comandă și apoi încercați din nou:
Acest singur rezolvă problema pentru mine pe Ubuntu 16.04, mysql 5.7.20. YMMV.
Păi ce poți să faci este doar de a deschide mysql.cfg și aveți pentru a schimba Bind-address pentru asta
bind-address = 127.0.0.1
și apoi Reporniți mysql și vă va fi capabil să se conecteze la acel server pentru asta.
Uite asta poti avea o idee de forma asta.
acest lucru este real sol
Dacă se întâmplă să fie rulează pe Windows calculator; O soluție simplă este de a rula serverul MySQL instanță expertul de configurare. Este în MYSQL grup în meniul start. Pe cel de-al doilea la ultimul ecran faceți clic pe caseta pe care scrie "permite acces root la mașinile de la distanță".
CPANEL soluție
Du-te la Cpanel, uita-te pentru Remote MySQL. Adauga IP în câmpul de introducere:
Gazdă (% wildcard este permis)
Comentariu să-mi amintesc ce IP, care este. Asta a fost pentru mine.
Pe off sansa pe care cineva se confruntă cu această problemă se confruntă din cadrul SQLyog, acest lucru s-a întâmplat:
Am avut conectat la baza de date la distanță (din cadrul SQLyog) și a lucrat timp de câteva ore. După aceea am plecat din sistem, pentru câteva minute, apoi s-a întors pentru a continua munca mea - EROARE 1130 ! Degeaba am incercat lucrat; Repornirea SQLyog n't fix it. Apoi am repornit sistemul - încă n't de lucru.
Așa că am încercat conectarea la borna - a mers. Apoi rejudecat pe SQLyog ... si a functionat. Pot't explica altfel decât prin 'aleator de calculator quirkiness', dar cred că ar putea ajuta pe cineva.
Acest lucru pentru DirectAdmin;
DirectAdmin
.MySQL Management
.Accesează Gazdă
tab, există un câmp. Trebuie să completați acest câmp dexxx.xx.xxx.xx
.Terminat. Acum puteți accesa la acest DB cu your_database_username
&
your_database_password`. Atât De Simplu!Acest răspuns ar putea ajuta cineva...
Toate aceste răspunsuri nu ajuta, atunci am realizat că am uitat să verific un lucru important.. port :)
Am mysql rulează într-un container docker care rulează pe un port diferit. Am fost îndreptat la gazda mea mașină pe portul 3306, care am un server mysql rulează pe. Recipient meu expune la server pe portul 33060. Deci, în tot acest timp, mă uitam la alt server! doh!
această eroare pentru că nici o parolă de la rădăcină , iar acest lucru Poate că a avut loc cu tine, atunci când încercați să vă conectați din afara .