MySQL - Recuperando o usuário root excluído por meio do usuário debian-sys-maint
Dica publicada em Banco de Dados / MySQL
MySQL - Recuperando o usuário root excluído por meio do usuário debian-sys-maint
Sempre existe a possibilidade de fazer bobagem usando algum comando indevido ao atualizar informações em uma base de dados MySQL com uma interface gráfica.
A minha experiência foi interessante porque, certa vez, administrando um servidor MySQL em Linux com phpmyadmin, usei a interface para atualizar a senha do 'root', e escolhi alguma opção que o apagou completamente da tabela 'users' do banco 'mysql'.
Conclusão: fiquei sem o usuário 'root', sem GRANT, sem acesso, e meus usuários secundários não me permitiam criar um 'root' com permissões globais totais.
Reiniciar o servidor no modo seguro (mysqld_safe --skip-grant-tables --skip-networking &) não adiantava nada pra mim, porque eu havia excluído o 'root'.
A minha solução foi usar o usuário debian-sys-maint, criado pela instalação do MySQL, e que também é poderoso. Para usar esse garoto aí você vai necessitar da senha, e ela deve estar em /etc/mysql/debian.cnf.
cat /etc/mysql/debian.cnf
Com a senha em mãos, faça login localmente (de preferência em um terminal), crie um novo usuário 'root', dê a ele permissão total e seja feliz!
A minha experiência foi interessante porque, certa vez, administrando um servidor MySQL em Linux com phpmyadmin, usei a interface para atualizar a senha do 'root', e escolhi alguma opção que o apagou completamente da tabela 'users' do banco 'mysql'.
Conclusão: fiquei sem o usuário 'root', sem GRANT, sem acesso, e meus usuários secundários não me permitiam criar um 'root' com permissões globais totais.
Reiniciar o servidor no modo seguro (mysqld_safe --skip-grant-tables --skip-networking &) não adiantava nada pra mim, porque eu havia excluído o 'root'.
A minha solução foi usar o usuário debian-sys-maint, criado pela instalação do MySQL, e que também é poderoso. Para usar esse garoto aí você vai necessitar da senha, e ela deve estar em /etc/mysql/debian.cnf.
cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = ASHDKASHDJsdjh socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = ASHDKASHDJsdjh socket = /var/run/mysqld/mysqld.sock basedir = /usr
Com a senha em mãos, faça login localmente (de preferência em um terminal), crie um novo usuário 'root', dê a ele permissão total e seja feliz!