Jeden z mých klientů mě kontaktoval kvůli problému s propojeným serverem mezi SQL Serverem a MySQL Serverem. Vzhledem k tomu, že většinou pracuji s SQL Serverem, byla to zábava instalovat a připojovat MySQL Server. Zatímco jsem se snažil simulovat problém a chtěl jsem vytvořit propojený server. V tomto blogu bychom se dozvěděli, jak opravit chybu připojení MySQL [MySQL][Ovladač ODBC 5.3(w)]Hostitel ‚IP‘ se nemůže připojit k tomuto serveru MySQL.
Nainstaloval jsem server MySQL na server a poskytl jsem heslo uživatele root. Když jsem se pokoušel připojit k serveru MySQL pomocí ODBC.
Jakmile jsem kliknul na test, zobrazí se níže uvedená chyba.
IP uvedená v chybové zprávě je IP klienta, který se pokouší připojit. Textová zpráva je následující:
Připojení se nezdařilo
[MySQL][Ovladač ODBC 5.3(w)]Hostitel „IP“ se nemůže připojit k tomuto serveru MySQL:
Při práci se serverem SQL jsem tuto chybu nikdy neviděl, takže jsem o této chybě neměl ani ponětí. Když jsem zkoumal, dozvěděl jsem se níže.
Ve výchozím nastavení MySQL neumožňuje vzdáleným klientům připojení k databázi MySQL.
Nejrychlejším způsobem, jak to ověřit, je postup uvedený níže. Pokud zkontrolujeme tabulku mysql.user, je zde položka pro uživatele „root“ s hostitelem „localhost“.
Potřebujeme tedy poskytnout oprávnění k připojení k serveru MySQL ke klientovi.
ŘEŠENÍ/ŘEŠENÍ
Nejprve se ujistěte, že nejde o problém s firewallem.
Jak jsme si řekli dříve, jde o problém s oprávněními. Poté můžeme udělit oprávnění pomocí příkazu.
Use mysql; GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';
Můžete k tomu také použít MySQL Workbench. Níže uvedený snímek obrazovky uvádí kroky, které je třeba dodržet. Stejně jako u příkazu musíme na grafické obrazovce zadat uživatelské jméno, heslo a IP.
Doufám, že vám tento blog pomůže. Po výše uvedených změnách byste se při pokusu o připojení k databázi mysql z tohoto vzdáleného klienta (udali jsme IP/název hostitele) již neměli zobrazovat chybová zpráva „Hostitel se nemůže připojit k tomuto serveru MySQL“. Můžeme také použít % k povolení všech hostitelů, ale tuto možnost neupřednostňuji.
Nejsem odborník na MySQL, takže neváhejte a dejte mi vědět, jestli existují lepší způsoby.