Je to normální, když řeknete "přístup k DB přes mysql -u root -p
funguje dobře" máte na mysli, že jej spouštíte, když jste kořenový adresář systému (nebo pod sudo
). Jako běžný uživatel byste to neměli být schopni.
Balíčky generované Ubuntu ve výchozím nastavení mají unix_socket autentizace pro lokální root. Pro kontrolu spusťte
SELECT user, host, plugin FROM mysql.user;
Měli byste vidět unix_socket
v plugin
sloupec pro [email protected]
.
Pokud chcete místo toho použít ověřování heslem, spusťte
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;