Skip to content

Alterar senha de Root do Mysql

1) Se o mysql estiver rodando, pare o serviço do MySQL
2) Digite o seguinte comando:

/usr/sbin/mysqld –bootstrap –skip-grant-tables –basedir=/ –datadir=/var/lib/mysql << bla
update mysql.user set password=” where user=’root’;
bla

Agora você acaba de “ZERAR” a senha do mysql. Basta então iniciar o serviço do mysql novamente.
3) Agora, caso ainda não tenha feito, inicie o serviço do MySQL novamente
4) Troque a senha do mysql com o seguinte comando:

mysqladmin -u root password ‘minha nova senha’

=================================================

DICA 2

Primeiro mate o processo do mysql (não utilize a opção -9):

# killall mysqld

Agora inicie o MySQL em modo seguro (safe mode):

# safe_mysqld –skip-grant-tables &

Ou

# /usr/bin/safe_mysqld –skip-grant-tables &

Agora conecte-se ao servidor MySQL usando o cliente do mysql:

# mysql

Ou

# /usr/bin/mysql

Após conectar-se ao servidor MySQL, acesse o banco MySQL, digitando:

> use mysql;

Agora vamos definir a nova senha para o usuário root do MySQL:

> update user set password = password(‘digite sua nova senha aqui’) where user=’root’ and host=’localhost’;

Ah, e não esqueça de recarregar os privilégios, digitando:

> flush privileges;

Agora você poder sair do cliente do MySQL, digite:

> quit

Agora vamos desligar o modo de segurança do MySQL, execute:

# /etc/init.d/mysqld stop

E enfim, vamos iniciar o MySQL com a nova senha de root:

# /etc/init.d/mysqld start

=================================================

DICA 3

1 – Para o servidor mysql:

#service mysqld stop ou
#service mysql stop

Dependendo da versão do linux o nome do daemon do mysql pode variar. Caso nenhum dos comandos acima pare o seu mysql, entre no diretório “/etc/rc.d/init.d” e lá voçê digita ./onomedeseuMYSQLdaemon stop

2 – Inicie o mysql com as opções “–skip-grant-tables”. Fazendo isso o mysql irá inicar ignorando as tabelas que fazem a autenticação.

#safe_mysqld –skip-grant-tables&

3 – Conecte no servidor mysql.

#mysql -u root mysql

4 – Digita os comandos abaixo no console do cliente mysql.

mysql> UPDATE user SET Password=PASSWORD(‘minhanovasenha’) WHERE User=’root’;
mysql> FLUSH PRIVILEGES;

5 – Reinicie seu servidor mysql.

#service mysql restart ou
#service mysqld restart

=================================================

1. Finalize o daemon mysqld enviando um kill (não kill -9) para o servidor mysqld. O pid é armazenado em um arquivo .pid, que normalmente está no diretório de banco de dados do MySQL:
2. 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 o mysqld está executando para fazer isto.
3. Reinicie o mysqld com a opção –skip-grant-tables.
4. Defina uma nova senha com o comando mysqladmin password:
5. shell> mysqladmin -u root password ‘mynewpassword’
6. Agora você também pode parar o mysqld e reiniciá-lo normalmente, ou apenas carregue a tabela de privilégios com:
7. shell> mysqladmin -h hostname flush-privileges
8. Depois disto, você deve estar apto para conectar usando a nova senha.
De forma alternativa, você pode definir a nova senha usando o cliente mysql:
1. Finalize e reinicie o mysqld com a opção –skip-grant-tables com descrito acima.
2. Conecte ao servidor mysqld com:
3. shell> mysql -u root mysql
4. Dispare os seguintes comandos no cliente mysql:
5. mysql> UPDATE user SET Password=PASSWORD(‘minhanovasenha’)
6. -> WHERE User=’root’;
7. mysql> FLUSH PRIVILEGES;
8. Depois disto, você deve estar apto a conectar usando a nova senha.
9. Você agora pode parar o mysqld e reiniciá-lo normalmente.

+++
Resumo:

Linux:

  1. Parar o serviço do MySQL (service mysqld stop, /etc/init.d/mysqld stop, matando o processo – conforme sua distribuição);
  2. Reiniciar o mysql com a opção --skip-grant-tables (você poderá utilizá-la ao iniciar o mysqld manuamente ou colocando-a no arquivo de init)
  3. Alterar a senha do usuário root com o comando:
    # mysqladmin -u root password 'nova_senha'
    # mysqladmin flush-privileges
    você pode alterar a senha também com o comando:

    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;

Windows XP (com o MySQL rodando como serviço):

  1. Entrar nos serviços do windows (Iniciar -> Executar -> services.msc);
  2. Procure pelo MySQL, clique com o botão direito sobre ele e vá em propriedades;
  3. Pare o serviço (clicando sobre o botão parar);
  4. Insira no campo “Parâmetros de inicialização” o parâmetro --skip-grant-tables e clique no botão iniciar e em seguida botão Ok;
  5. Execute o cmd (Iniciar -> Executar -> cmd) , entre no diretório de binários do MySQL (cd c:\arquivos de programas\mysql\bin (ou onde estiver instalado));
  6. Alterar a senha do usuário root com o comando:
    mysqladmin -u root password 'nova_senha'
    mysqladmin flush-privileges
    você pode alterar a senha também com o comando:

    mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD('nova_senha') WHERE User='root';
    mysql> FLUSH PRIVILEGES;

O parâmetro --skip-grant-tables desabilita no servidor o uso do sistema de privilégios. Com isso todos os usuários terão acesso a todos os bancos de dados. Ao executar o comando Flush privileges, o servidor retorna a utilizar seu sistema de privilégios, mantendo a segurança original do serviço.

Agora se você adicionou o parâmetro --skip-grant-tables no arquivo de init, não se esqueca de remové-lo de lá, para evitar que na próxima reinicialização do serviço ele fique vulnerável. Caso seu MySQL esteja no Windows, execute os 4 primeiros passos novamente removendo o parâmetro passado na inicialização.

http://dev.mysql.com/doc/refman/5.0/en/adding-users.html

autor: http://josemorelli.net/2005/11/07/alterando-a-senha-do-usuario-root-no-mysql

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.