Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL – Грешка при свързване – [MySQL][ODBC 5.3(w) Driver]Host „IP“ не е разрешен да се свързва с този MySQL сървър

Един от моите клиенти се свърза с мен за проблем със свързан сървър между SQL Server и MySQL Server. Тъй като работя предимно със SQL Server, беше забавно инсталирането и свързването на MySQL Server. Докато се опитвах да симулирам проблема и исках да създам свързан сървър. В този блог ще научим как да поправим грешка при връзката с MySQL [MySQL][ODBC 5.3(w) Driver]Host „IP“ не е разрешен да се свързва с този MySQL сървър.

Инсталирах MySQL Server на сървър и предоставих паролата на root потребителя. Когато се опитвах да се свържа с MySQL сървър с помощта на ODBC.

Веднага след като щракнах върху теста, виждам грешка по-долу.

IP адресът, споменат в съобщението за грешка, е IP на клиента, който се опитва да се свърже. Текстовото съобщение е както следва:

Неуспешна връзка
[MySQL][ODBC 5.3(w) Driver]Host „IP“ не е разрешен да се свързва с този MySQL сървър:

Никога не съм виждал тази грешка, докато работех със SQL Server, така че нямах представа за тази грешка. Когато проучвах, научих по-долу.

По подразбиране MySQL не позволява на отдалечени клиенти да се свързват с MySQL базата данни.

Най-бързият начин да проверите това е както следва. Ако проверим таблицата mysql.user, има запис за потребител „root“ с хост „localhost“.

И така, трябва да предоставим разрешение за свързване с MySQL Server към клиент.

ЗАОБХВАТНО РЕШЕНИЕ/РЕШЕНИЕ

Първо се уверете, че не е проблем със защитната стена.

Както обсъдихме по-рано, това е проблем с разрешенията. След това можем да дадем разрешение с помощта на командата.

Use mysql;
GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';

Можете също да използвате MySQL Workbench, за да направите това. По-долу екранната снимка казва стъпките, които трябва да се следват. Също като командата, трябва да дадем потребителско име, парола и IP на графичния екран.

Надявам се този блог да помогне. След горните промени, когато се опитате да се свържете с базата данни на mysql от този отдалечен клиент (дадохме IP/името на хост), повече не трябва да получавате съобщението за грешка „Хостът няма право да се свързва с този MySQL сървър“. Можем също да използваме %, за да разрешим всички хостове, но аз не предпочитам тази опция.

Аз не съм експерт по MySQL, така че не се колебайте да коментирате и да ме уведомите дали има по-добри начини.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Автоматично генериране на диаграма на база данни MySQL

  2. MySQL - Как да търся точно съвпадение на думи с LIKE?

  3. STR_TO_DATE() Примери – MySQL

  4. ADDTIME() Примери – MySQL

  5. Как да видя всички външни ключове към таблица или колона?