mysql nova instalação pedindo senha root

3

Um par de anos atrás eu tentei instalar o apache, php e mysql no meu mac. Eu tenho tudo funcionando, mas no final eu me cansei de fazer tudo na linha de comando então mudei para o mamp

Agora estou farto da lentidão do mamp e quero melhorar o uso da linha de comando. Eu estou tentando configurá-lo (bem, com portas mac), mas eu esqueci a senha para o usuário root do mysql. Não há grande problema, não há dados lá, eu preciso apenas reinstalar.

Eu desinstalei o mysql, reinstalei o mysql e executei:

sudo -u _mysql mysql_install_db5 /opt/local/share/mysql5/mysql/mysql.server start

Tudo funcionou bem, mas mysqladmin5 -u root -p ping me pede uma senha e mysqladmin5 -u root ping não funciona.

    
por msaspence 15.09.2010 / 20:35

4 respostas

2

O problema é que eu não tinha um usuário root para redefinir a senha de para corrigir: Shell:

/opt/local/share/mysql5/mysql/mysql.server stop
/opt/local/share/mysql5/mysql/mysql.server start --skip-grant-tables

mysql:

user mysql;
insert into user (Host, User, Password) values ('localhost','root','');
update user set 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' where user='root';
exit;

shell:

/opt/local/share/mysql5/mysql/mysql.server stop
/opt/local/share/mysql5/mysql/mysql.server start
mysql -u root

mysql:

grant all privileges on *.* to 'root'@'localhost' with grant option;

Mais informações aqui: link

    
por 16.09.2010 / 09:31
2

De dev.mysql.com/doc/refman/5.1/en/default-privileges.html:

The mysql.user grant table defines the initial MySQL user accounts and their access privileges:

Some accounts have the user name root. These are superuser accounts that have all privileges and can do anything. The initial root account passwords are empty, so anyone can connect to the MySQL server as root without a password and be granted all privileges.

As instruções para redefinir a senha de root podem ser encontradas aqui .

    
por 15.09.2010 / 20:46
0

Se você parar o mysqld, e iniciá-lo a partir da linha de comando com a opção --skip-grant-tables , você poderá logar como root sem senha. Então você pode definir a senha do root para algo que você vai se lembrar.

USE mysql;
UPDATE user SET 'password' = PASSWORD('your new password') WHERE user = 'root';
FLUSH PRIVILEGES; 

Certifique-se de parar o mysqld e reiniciá-lo normalmente depois de ter feito isso, para que os clientes verifiquem suas senhas novamente.

    
por 15.09.2010 / 20:45
0

Eu não conheço o mac muito bem, no entanto eu tive o mesmo problema com o windows. Instalação fresca do MySQL solicitando minha senha atual. A resposta para como você se livrar deste problema é muito simples, pelo menos para o Windows.

Antes de mais nada, certifique-se de apagar todas as pastas MySQL no seu computador. No windows, isso inclui o diretório de instalação, mas também sob / All Users / Application Data no XP, esse diretório está localizado em C: \ Documents and Settings. Então, e na verdade eu nunca pensei sobre esta solução simples para começar, mas o Windows adiciona todos os seus serviços em seu registro. Você pode se livrar de um serviço no seu registro, digitando

sc delete "ServiceName" no prompt do cmd, neste caso

sc delete MySQL

Talvez a mesma solução se aplique de alguma forma no seu MAC.

    
por 23.11.2010 / 17:50