Řízení přístupu klientů v MySQL můžete zakázat tak, že serveru řeknete, aby nečetl tabulky grantů, a deaktivujete řízení přístupu. Použijte –skip-grant-tables možnost tak učinit. Volba –skip-grant-tables má následující účinky:
- Když je uživatel připojen, má plná oprávnění k jakékoli činnosti.
- Tato možnost deaktivuje výpisy správy účtu, jako je CREATE USER, GRANT, REVOKE a SET PASSWORD.
Zakázání řízení přístupu je praktické, pokud zapomenete heslo uživatele root a potřebujete ho resetovat, protože každý uživatel se může připojit s plnými oprávněními bez zadání hesla. To je zjevně nebezpečné. Chcete-li zabránit vzdáleným klientům v připojení přes TCP/IP, použijte volbu –skip- networking. Klienti se pak mohou připojit pouze z localhost pomocí souboru soketu v systému UNIX nebo pojmenovaného kanálu nebo sdílené paměti v systému Windows. Chcete-li se vyhnout náhodným připojením z localhost, použijte na příkazovém řádku nestandardní název soketu.
Výpisy správy účtu vyžadují kopie tabulek grantů v paměti, které nejsou dostupné, když zakážete řízení přístupu. Chcete-li změnit oprávnění nebo nastavit heslo, upravte přímo tabulky povolení. Případně po připojení k serveru vydejte příkaz FLUSH PRIVILEGES, který způsobí, že server bude číst tabulky a také povolí výpisy správy účtu.
Závěr
Když zakážete řízení přístupu klienta v MySQL,
1. Každé připojení je úspěšné:
- Můžete zadat libovolné uživatelské jméno a heslo a připojit se můžete z libovolného hostitele.
- Tato možnost zcela zakáže systém oprávnění.
- Připojení uživatelé mají efektivně všechna oprávnění.
2. Zabraňte připojení klientů:
- Použijte –skip-networking možnost zabránit přístupu k síti a povolit přístup pouze k místnímu soketu, pojmenovanému kanálu nebo sdílené paměti.
- Použijte zásuvku možnost spuštění serveru na nestandardním soketu, aby se zabránilo náhodnému přístupu místních aplikací nebo uživatelů.