Jest to normalne, jeśli mówiąc "dostęp do bazy danych przez mysql -u root -p
działa dobrze" masz na myśli, że używasz go będąc rootem systemu (lub pod sudo
). Nie powinieneś być w stanie tego zrobić jako zwykły użytkownik.
Pakiety generowane przez Ubuntu domyślnie mają unix_socket uwierzytelnianie dla lokalnego roota. Aby to sprawdzić, uruchom
SELECT user, host, plugin FROM mysql.user;
Powinieneś zobaczyć unix_socket
w plugin
kolumna dla [email protected]
.
Jeśli zamiast tego chcesz użyć uwierzytelniania hasłem, uruchom
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;