Vaše nastavení vypadá dobře. Zdá se, že jde čistě o problém s oprávněními.
Tomuto uživateli musíte udělit přístup v mysql. Zatímco Java se připojí k localhost, bude to dělat pomocí tcp/ip - nicméně v mysql localhost a 127.0.0.1 mají jiný význam. Vydání tohoto SQL by mělo stačit.
grant all on twitter.* to 'root'@'127.0.0.1' identified by 'mypwd';
To předpokládá, že Java přeloží 'localhost' na 127.0.0.1, pokud věci stále nefungují, můžete zkusit změnit svůj připojovací řetězec na "jdbc:mysql://127.0.0.1:3306/twitter"
Jak ho máte nyní, heslo v prostém textu.