Using drush when database and web server are separate
The user name is taken from root's .my.cnf file (normally located in /root/.my.cnf. Either remove the user line from that file, or run Drush as another user than root (which might not have a .my.cnf file.)

Added: The relevant part of the MySQL documentation:


  If multiple instances of a given option are found, the last instance
  takes precedence, with one exception: For mysqld, the first instance
  of the --user option is used as a security precaution, to prevent a
  user specified in an option file from being overridden on the command
  line.