Embora várias dessas respostas sejam úteis, várias são confusas, pois o usuário root do unix e o usuário root do mysql não são os mesmos e basicamente não têm nenhum relacionamento além de ambos usarem o nome de login 'root'. Talvez isso seja óbvio, mas parece que algumas respostas conflitam as duas.
O que poderia ser uma opção útil (talvez exista?) Para o mysqld seria permitir que programas clientes como mysql ou mysqldump etc executando como raiz unix acessassem o root @ localhost do mysqld sem uma senha sem ter que armazenar a senha do root @ localhost (mysql) em um arquivo my.cnf ou similar.
Eu sei que isso fica um pouco nervoso, mas o raciocínio é que qualquer um que esteja executando como raiz unix local (para o servidor mysqld) pode ignorar a segurança do mysqld de qualquer maneira, com bastante facilidade. E ter um my.cnf com a senha root mysqld 7x24 ou até criar / excluir um my.cnf com a senha root mysql (de onde vem essa senha?) Em tempo real (por exemplo, para executar um mysqldump) me deixa nervoso.
Isso exigiria alguma infraestrutura e pensamento, porque seria necessário confiar no mysql / mysqldump / etc para transmitir ao mysqld que ele realmente acredita que está sendo executado por uma conta raiz local do unix.
Mas, por exemplo, limitar apenas o soquete unix do mysqld, sem TCP, poderia ajudar, pelo menos como uma opção fortemente recomendada dessa opção. Isso pode estabelecer que o cliente está sendo executado localmente, o que provavelmente não é suficiente. Mas poderia ser o começo de uma ideia. Talvez o envio de um descritor de arquivo por um soquete unix possa ser outra peça (pesquise no Google se isso soa como uma loucura).
PS Não, não vou tentar discutir aqui como isso pode funcionar em um sistema operacional não-unix, embora a ideia provavelmente se traduza em outros sistemas operacionais.