Senha de Root

1. Senha de Root

Felipe Braga Carlos
flpe007

(usa Debian)

Enviado em 04/10/2007 - 09:47h

Olá para todos,

pessoal estou com um certa dificuldade aqui e preciso da ajuda de alguém...
é o seguinte:
Estou o o MySQL 4.1.11 rodando em um server aqui do trampo porém, a pessoa que cuidava disso não está mais aqui e eu não estou conseguindo acessar com as senha deixadas por ele...
ja pesquisei na net uma forma de "ZERAR" essa senha e encontrei algumas maneiras, porém, nenhuma delas funcionou com a versão que eu tenho aqui no server... será que alguém sabe me dizer como eu faço???
Estou usando o DEBIAN...
Ja tentei fazer das seguintes formas:

DICA 1

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

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

DICA 4 (está eu vi no manual do MySQL)

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.

=================================================
tentei todas essas mas, até agora não consegui...

Alguém pode me dar um HELP por favor???

Valeu!!!!


  


2. Re: Senha de Root

Anilton Fernandes
aniltonf

(usa Ubuntu)

Enviado em 19/10/2007 - 22:38h

É pa,

eu utilizo UBunto 7.4 e esqueci a minha senha de root para o MySQL, sei que não devia mais pronto aconteceu, e agora, qual é a tolerânça a falta, isto é, como é que faço o reset da minha pwd de root para MySQL 5.0.38.

Alguma dica, os que estão aqui não funcionam, dá um erro:


--------------
root@aniltonfsrv1:/usr/bin# /usr/bin/mysqladmin -u root password "xpto"
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
root@aniltonfsrv1:/usr/bin#
--------------


3. Responder Para não ficar no Vacúo

Samuka
samukasmk

(usa Debian)

Enviado em 20/10/2011 - 11:57h

Galera,

Meu mysql tava compilado com problemas, mesmo com o grant all privileges, ele deixava os campos da tabela user com 'N'.

O que eu fiz pra resvolver, baseado na sua resposta:

(Parar o MySQL)
/etc/init.d/mysqld stop
killall mysqld
ps -ef | grep mysql
kill -9 Se existir PidZumbi

(Subir em modo safe, sem permissão)
/usr/bin/mysqld_safe --skip-grant-tables &

(logar no mysql)
mysql

(Verificar se existe um registro o usuário ROOT, na diretiva LOCALHOST)
use mysql
select * from user where User='root'\G;

Se ja existir, Mande um UPDATE:
###############################
UPDATE user SET Host='localhost', Password=PASSWORD('NOVASENHA'), Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y', Reload_priv='Y', Shutdown_priv='Y', Process_priv='Y', File_priv='Y', Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y', Show_db_priv='Y', Super_priv='Y', Create_tmp_table_priv='Y', Lock_tables_priv='Y', Execute_priv='Y', Repl_slave_priv='Y', Repl_client_priv='Y', Create_view_priv='Y', Show_view_priv='Y', Create_routine_priv='Y', Alter_routine_priv='Y', Create_user_priv='Y', ssl_type='', ssl_cipher='', x509_issuer='', x509_subject='', max_questions='0', max_updates='0', max_connections='0', max_user_connections='0' WHERE User='root';
###############################

Caso não exista, insira o registro:
###############################
INSERT INTO user

(Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, max_questions, max_updates, max_connections, max_user_connections)

VALUES
('localhost', 'root', '68d4f47c49a579c9', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 0, 0, 0, 0);
###############################

(Reiniciar o serviço em Modo Normal)
/etc/init.d/mysqld stop
/etc/init.d/mysqld start

(Testar o acesso root)
mysql -uroot -p
Senha: NOVASENHA


4. Re: Senha de Root

Samuka
samukasmk

(usa Debian)

Enviado em 20/10/2011 - 11:58h

Ahh!
a senha, do hash do insert é: mysql


5. yeslinux.com.br

Guaracy Tomé
guaracy_tome

(usa Fedora)

Enviado em 20/10/2011 - 12:08h

Tente dar uma olhada aqui.

Eu já resolvi esse problema com esse tutorial.

http://www.yeslinux.com.br/?category_name=mysql-troubleshooting


Boa sorte,


6. Re: Senha de Root

Marcos O.R.P.
mordp

(usa Slackware)

Enviado em 26/10/2011 - 11:51h

comigo deu certo

Para o serviço Mysql

Localize o arquivo .pid, geralmente o nome do servidor .pid, no meu caso, o nome do host é "servidor" entao o arquvi é "servidor.pid"
Geralmente localizado em um desses caminhos, padrao das distro, depende da sua.
/var/lib/mysql/ , /var/run/mysqld/ e /usr/local/mysql/data/

kill cat/diretorio/host_name.pid

/etc/rc.d/rc.mysqld stop <-- exmplo depende da distribuiçao

Crie um arquivo de texto contendo as seguintes afirmações. Substituir a senha com a senha que você deseja usar.

UPDATE mysql.user SET Password=PASSWORD('minhasenha') WHERE User='root'
FLUSH PRIVILEGES;



Salve o arquivo como "mysql-init", em qualquer lugar

Inicie o servidor MySQL com o especial --init-file opção:

mysqld_safe --init-file=/mysql-init & (o meu arquivo esta na raiz )

log no mysql

mysql -u root -p (log com a nova senha)

saia do mysql e pare ele

/etc/rc.d/rc.mysqld stop

exclua o arquivo criado por questoes de segurança

e inicie o mysql

/etc/rc.d/rc.mysqld start

pronto!

Google tradutor!
rsrsrsr

http://dev.mysql.com/doc/refman/5.5/en/resetting-permissions.html






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts