Você pode forçar o MySQL / MariaDB a definir sua senha de root iniciando o processo como root (sem rede) e efetuando login sem senha, em seguida executando um ALTER USER para alterar a senha de root. A maior parte disso eu li aqui . O procedimento é ligeiramente diferente no MariaDB, mas deve ser sintaticamente equivalente.
Eu só tive que fazer isso na comunidade MySQL 5.7.18 (no Fedora 24), então ele é conhecido por trabalhar em pelo menos um sistema.
- Pare as instâncias de
mysqldenviando-asSIGTERM(por exemplo, atéhtop) ou desligando-as do seu gerenciador de serviços (sudo systemctl stop mysqld.service) -
Inicie o MySQL como o usuário raiz do sistema e bifurque-o no plano de fundo com:
$ sudo mysqld --skip-grant-tables --skip-networking --user=root & -
Agora que o MySQL está rodando (e terrivelmente vulnerável, daí o argumento
--skip-networking), faça o login nele:$ sudo mysql -u root -
Carregue a tabela de usuários do MySQL para que possamos editá-la:
mysql> FLUSH PRIVILEGES; -
Defina uma nova senha para o usuário root do MySQL. Certifique-se de escapar corretamente de qualquer personagem engraçado.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'correct \'horse\' battery staple'; mysql> exit; -
Envie ao MySQL outro
SIGTERM:$ sudo kill 'cat /var/run/mysqld/mysqld.pid' -
Inicie o MySQL normalmente novamente:
$ sudo systemctl start mysqld.service -
Verifique se você pode fazer login com a senha do usuário root do MySQL:
$ mysql -u root -p
Você será solicitado a inserir a senha e voilà!