mysql start ERROR 1045 (28000): Acesso negado para o usuário 'root' @ 'localhost' (usando a senha no) no OpenSuse 12.1

1

executando o openSuse 12.1. em um caderno ...

bem eu configurei o apache 2 e o mysql - (depois de iniciá-lo no runlevel.

bem - eu fiz tudo o que eu precisava fazer - mas agora eu fiquei preso ...

após a instalação do phpmyadmin. Eu tentei encontrar o site ... eu não pude

ai eu tentei iniciar o mysql via linha de comando - que falhou ... duhhhhhh !! ?? O que posso fazer agora - o que está errado aqui

linux-wyee:/home/martin # mysql start 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
linux-wyee:/home/martin #

hmmm eu não tenho cola - provavelmente eu estraguei algumas senhas. O que você acha! Como posso ter certeza de que tudo corre bem - e nada - isso significa que não pART OF o apache2, mysql e todas essas coisas deixa de trabalhar propriamente

    
por zero 13.03.2012 / 20:05

2 respostas

2

talvez você deva usar systemctl para iniciar o daemon do servidor mysql

sudo systemctl start mysql.service

Além disso, se você quiser adicionar o servidor aos runlevels padrão do SUSE, use:

sudo systemctl enable mysql.service

Em seguida, você deve executar mysql_secure_installation como root.

sudo mysql_secure_installation

aqui você deve seguir os passos e digitar a senha para o usuário root do mysql. note que isto é não o usuário root da sua caixa linux.

Agora simplesmente use o cliente mysql. Basta emitir

mysql

^^ E lembre-se que você está no suse. Algo sugerido como rcscript start não funcionaria porque o suse está usando o systemd agora.

    
por 13.03.2012 / 20:29
1

Sua instalação do mysql está apenas reclamando que você não pode se conectar à instância no mysql localmente como root sem usar uma senha. Se você esqueceu a senha ou não sabe o que é, você pode redefini-la da seguinte maneira:

  1. Mate o processo atual do mysql em execução (faça um ps -efc | more) ou algo assim e mate qualquer coisa que diga MySQL com kill <process_id> . Uma alternativa melhor é tentar simplesmente parar o processo normalmente com rcmysql stop
  2. Crie um arquivo (idealmente em um diretório que somente o root possa ler) chamado init.txt com o seguinte texto:

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

  3. Inicie o MySQL no modo de segurança e passe o arquivo init.txt como parâmetro:

    mysqld_safe --init-file=mysql-init.txt &
    

Agora você pode matar o MySQL mais uma vez e reiniciar o serviço normalmente (acho que o Suse usa rcmysql start :

rcmysql start

Conecte-se ao servidor como você faria normalmente com:

mysql -u root@localhost -p

Digite a senha que você especificou no arquivo init.txt e você deve estar pronto. DELETE o arquivo init.txt !!!!

    
por 13.03.2012 / 20:33