Bem, na verdade existe uma resposta específica do Ubuntu para esta questão.
Como mencionado por Gergoes link, isso é basicamente sobre como modificar /etc/mysql/my.cnf e definir um novo valor para datadir = no [ mysqld] seção. Até agora, a parte inespecífica da resposta.
Assumindo que você está executando uma versão um tanto moderna do Ubuntu, você pode muito bem ter o AppArmor instalado por padrão, com um perfil para / usr / sbin / mysqld no modo imposto. Esse perfil padrão provavelmente não aceitará seu novo datadir.
Vamos supor que seu novo datadir seja / home / data / mysql .
Se você abrir o arquivo /etc/apparmor.d/usr.sbin.mysqld , você encontrará, entre as regras, essas duas linhas.
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
Assumindo nosso exemplo acima, eles terão que ser substituídos ou (provavelmente preferíveis) complementados por essas duas linhas.
/home/data/mysql/ r,
/home/data/mysql/** rwk,
Antes de podermos iniciar nosso servidor MySQL, com seu novo datadir, também teremos que recarregar explicitamente nosso novo perfil apparmor.
$ sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld