Alterar senha do root no MySQL

Se tem uma coisa que eu não gosto é quando um software tem senha em branco por padrão. Nessas situações, existe uma tendência muito grande dos usuários de mantê-la assim. O SQL Server foi um dos que sofreu barbaridades por causa disso. Encontrar servidor SQL Server em ambiente de produção com senha em branco era coisa comum.

O MySQL ainda é assim, senha de root em branco por default. A primeira coisa que eu faço quando instalo um servidor MySQL é trocar a senha do root com o seguinte comando:

mysqladmin -u root password uma_senha_dificil

Mas, o que fazer quando se esquece essa senha?

Parar o servidor MySQL
/etc/init.d/mysqld stop

Iniciar o MySQL sem ler as tabelas de permissões
mysqld_safe --skip-grant-tables &

Alterar a senha do root
mysqladmin -u root flush-privileges password novasenha

Reiniar o MySQL
/etc/init.d/mysqld restart

Pronto!

6 Responses to “Alterar senha do root no MySQL


  • emilio
    Agosto 20th, 2007 12:00
    1

    Olá Marcus tudo bom ?Tenho um pequeno script de backup do mysql que queria compartilhar com vc.Não sabia onde postar e postei aqui
    Ele é feito em shell script.
    É simples e bem eficiente e pode ser agendado como tarefa no cron do seu Linux.
    Eu utilizava ele para fazer o backup dos arquivos do cvs da empresa(cvssamba) onde trabalhava, mas pode ser adaptado para o mysql.
    Claramente vcs tem que criar os diretorios para onde o backup vai a ficar.
    Espero que seja de ajuda

    #!/bin/sh
    #script de backup total e incremental para
    #o servidor cvs compartilhado na pasta cvsbackup 22 Mar 2005

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

    #variaveis de maquinas e diretorios

    DIRECTORIES=/var/lib/cvs
    BACKUPDIR=/var/bkp-cvs/bkp-total
    TIMEDIR=/var/bkp-cvs/bkp-date
    TAR=/bin/tar

    #variaveis de tempo
    DOW=$(date %a) #dia da semana (day of week)
    DOM=$(date %d) #dia do mes (day of month)
    DM=$(date %d%b) #data e mes

    #backup total semanal
    if [ $DOW = "Sat" ]; then

    NOW=$(date %Y%m%d)

    #faz o backup total e atualiza a data do ultimo
    echo $NOW > $TIMEDIR/variaveltempo.txt
    $TAR -cf $BACKUPDIR/cvssamba-$DOW.tar $DIRECTORIES

    else
    #pega a data do ultimo backup-total e faz o backup incremental
    NEWER=”–newer $(cat $TIMEDIR/variaveltempo.txt)”
    $TAR $NEWER -cf $BACKUPDIR/cvssamba-$DOW.tar $DIRECTORIES

    fi

  • Lucas
    Outubro 22nd, 2008 17:33
    2

    Obrigado amigo.

    A sua dica me foram muito úteis.

    Valeu !!!

  • Zandormaz
    Novembro 18th, 2008 10:31
    3

    Estou começando com MySQL, valeu a dica…

  • Marcelo
    Janeiro 26th, 2009 13:02
    4

    Dica muito valiosa!!

    Obrigado!

  • Pontes
    Março 27th, 2009 10:43
    5

    Estou estudando mySQL e instalei o WampServer no Windows Vista Ultimate, mas veio com a senha em branco, como posso fazer para resolver isso e colocar a senha?

    Agradecido

  • agnaldo
    Maio 5th, 2009 15:23
    6

    maravilha, fiz essa sua dica e o meu servidor em produção parou tudo e agora não sobe.

Leave a Reply