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

Nelze se vzdáleně připojit k instalaci EC2 MySQL

nejlepší nástroj, který jsem našel, byl sqlyog (možná i mysql workbench), který by ve skutečnosti sdělil název hostitele, ze kterého přicházíte při neúspěšném připojení.

The reason I like it is that it keeps security tight, showing something likeAccess denied for user "example@ sqldat.com ". Všimněte si, že jméno hostitele jsem si právě vymyslel, ale je důležité, ať už přichází vaše jakákoliv. Jinak je čas na zástupné znaky, něco, co neudělám. Můžete se rozhodnout."

to je důležité, protože název hostitele (hdm38.newyork.comcastbusiness.net ) je ten, který používám při create user mysql na rozdíl od použití zástupných znaků jako %

Nechal jsem to připojení výše selhat, ale všiml jsem si, jaký je název hostitele výše. Uvidíte to níže.

Rychlý kontrolní seznam

1) váš vzdálený uživatel se připojuje prostřednictvím účtu, který byl vytvořen s příslušným user,host záznamy (podívejte se na výstup z select user,host from mysql.user order by 1,2 )

CREATE USER 'santa'@'hdm38.newyork.comcastbusiness.net' IDENTIFIED BY 'mypassword';

S výše uvedeným příkazem nyní máme nového uživatele, který má šanci se dostat dovnitř. Nemůže nic dělat. Nelze změnit na db. V podstatě mohou dělat věci jako select now();

2) provedli jste grants s flush privileges (alespoň ten první)

GRANT ALL PRIVILEGES ON mydb123.* TO 'santa'@'hdm38.newyork.comcastbusiness.net';

Náš uživatel s výše uvedeným příkazem nyní může dělat cokoli v databázi/schématu mydb123. Prozkoumejte výše uvedený příkaz Grant v příručce pro doladění přístupu na naprosté minimum pro uživatele, které vytvoříte.

Pokud jste v zabezpečení mysql nováčkem, nezahrnujte WITH GRANT OPTION dokud to neprozkoumáš.

Existují tací, kteří by řekli, že výše uvedený název hostitele je '%' pro kroky 1 a 2. To znamená, že santa se může připojit z jakéhokoli hostitele. Volba je na tobě. Začněte pevně, uvolněte se, jakmile se někam dostanete a provedete průzkum.

3) upravili jste my.cnf a změněn bind-address mimo 127.0.0.1 nebo localhost , ve prospěch 0.0.0.0

Pokud adresa vazby není 0.0.0.0 , připojujete se pouze pomocí ssh

4) upravili jste my.cnf a mít rem'd out line #skip-networking . I když musíte vytvořit čáru jen proto, abyste ji vymazali, udělejte to.

3/4 změny vyžadují restart démona mysql

5) problémy s firewallem. Pro EC2 tedy potřebujete svou AWS Security Group který je aktivní pro instanci, aby zahrnoval otevření portu 3306



  1. PHP - Jak ověřit úspěšně smazaný záznam

  2. Jaký je rozdíl mezi MS Access a SQL?

  3. Chyba při použití souboru oracle.dataaccess.dll

  4. Zkontrolujte, zda existuje databáze (MySQL) a pokud ne, vytvořte ji v PHP