Det är normalt, om genom att säga "åtkomst till DB via mysql -u root -p
fungerar bra" du menar att du kör det medan du är en systemrot (eller under sudo
). Du ska inte kunna göra det som en vanlig användare.
Paket som genereras av Ubuntu som standard har unix_socket autentisering för den lokala roten. För att kontrollera, kör
SELECT user, host, plugin FROM mysql.user;
Du bör se unix_socket
i plugin
kolumn för [email protected]
.
Om du istället vill använda lösenordsautentisering, kör
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;