É normal, se dizendo "acessar o banco de dados via
mysql -u root -p
funciona bem" você quer dizer que você o está executando enquanto é um root do sistema (ou sob sudo
). Você não deve ser capaz de fazer isso como um usuário comum. Os pacotes gerados pelo Ubuntu por padrão têm unix_socket autenticação para a raiz local. Para verificar, execute
SELECT user, host, plugin FROM mysql.user;
Você deve ver
unix_socket
no plugin
coluna para [email protected]
. Se você quiser usar a autenticação de senha, execute
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;