De acordo com a resposta de JennyD, não há como fazê-lo sem desligar o banco de dados.
No entanto, se o banco de dados mysql em si não for tão grande e a velocidade de E / S do sistema for razoavelmente alta, você poderá fazer isso facilmente, bastando acoplar alguns comandos e executá-lo em pouco tempo. Eu fiz isso com sucesso várias vezes para bancos de dados críticos do mysql. Talvez anuncie a manutenção e faça alguns testes em um sistema de teste para descobrir quanto tempo leva.
Algo como:
/etc/init.d/mysql stop && mv /var/lib/mysql/database /mnt/newdisk/mysql/ && ln -s /mnt/newdisk/mysql/database /var/lib/mysql/database && /etc/init.d/mysql start
É um pouco grosseiro, mas eficaz. E prático em muitos casos (provavelmente em todos os sistemas, exceto os mais cruciais, "não pode ser"). O "& &" no comando garante que, se um comando anterior falhar, ele não continuará.