Como Recuperar uma Senha de Root Esquecida
Se você nunca definiu um senha de root
para o MySQL, então o servidor não irá exigir uma senha para a conexão como root
. É recomendado que sempre seja definida uma senha para cada usuário. See "Como Tornar o MariaDB Seguro contra Crackers".
Se você tiver definido um senha de root
, mas a esqueceu, você pode definir uma nova senha com o seguinte procedimento:
- Finalize o daemon
mysqld
enviando umkill
(nãokill -9
) para o servidormysqld
. O pid é armazenado em um arquivo.pid
, que normalmente está no diretório de banco de dados do MariaDB:shell>
kill `cat /mysql-data-directory/hostname.pid`
Você deve ser o usuário
root
do Unix ou o mesmo usuário com o qual omysqld
está executando para fazer isto. - Reinicie o
mysqld
com a opção--skip-grant-tables
. - Defina uma nova senha com o comando
mysqladmin password
:shell>
mysqladmin -u root password 'mynewpassword'
- Agora você também pode parar o
mysqld
e reiniciá-lo normalmente, ou apenas carregue a tabela de privilégios com:shell>
mysqladmin -h hostname flush-privileges
- Depois disto, você deve estar apto para conectar usando a nova senha.
De forma alternativa, você pode definir a nova senha usando o cliente MariaDB
:
- Finalize e reinicie o
mysqld
com a opção--skip-grant-tables
com descrito acima. - Conecte ao servidor
mysqld
com:shell>
mysql -u root mysql
- Dispare os seguintes comandos no cliente
MariaDB
:mysql>
UPDATE user SET Password=PASSWORD('minhanovasenha')
->WHERE User='root';
mysql>FLUSH PRIVILEGES;
- Depois disto, você deve estar apto a conectar usando a nova senha.
- Você agora pode parar o
mysqld
e reiniciá-lo normalmente.