sql >> Databáze >  >> RDS >> Mysql

Hostitel 'xxx.xx.xxx.xxx' se nemůže připojit k tomuto serveru MySQL

Možná bezpečnostní opatření. Můžete zkusit přidat nový administrátorský účet:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;

Ačkoli jak Pascal a další poznamenali, není dobrý nápad mít uživatele s tímto druhem přístupu otevřeného pro jakoukoli IP. Pokud potřebujete administrátora, použijte root a nechte ho na localhost. Pro jakoukoli jinou akci určete přesně ta oprávnění, která potřebujete, a omezte přístupnost uživatele, jak Pascal navrhuje níže.

Upravit:

Z MySQL FAQ:

Pokud nemůžete zjistit, proč jste odepřeli přístup, odstraňte z uživatelské tabulky všechny položky, které mají hodnoty Hostvalues ​​obsahující zástupné znaky (položky obsahující znaky '%' nebo '_'). Velmi častou chybou je vložení nové položky s Host='%' andUser='some_user', protože si myslíte, že vám to umožňuje zadat localhost pro připojení ze stejného počítače. To proto, že to nefunguje, je to, že výchozí oprávnění zahrnují vstup s Host='localhost' a User=''. Protože tato položka má Hostvalue 'localhost', která je specifičtější než '%', použije se při připojování z localhostu bez preference nové položky! Správným postupem je vložit druhý záznam s Host='localhost' andUser='some_user', nebo smazat záznam s Host='localhost' andUser=''. Po smazání záznamu nezapomeňte vydat prohlášení FLUSH PRIVILEGES k opětovnému načtení tabulek grantů. Viz také část 5.4.4 – „AccessControl, Fáze 1:ConnectionVerification“.



  1. Odečtěte týdny od data v PostgreSQL

  2. Vyberte MySQL s podmínkou CONCAT

  3. Jak získat datum ze sloupce Datetime v MySQL

  4. Vypněte varování v sqlalchemy