Instalando o mtop no Ubuntu 08.04

2

Estou instalando o mtop no ubuntu 8.04. O MySQL está rodando.

Durante o processo de instalação, há uma mensagem:

Access denied for user 'root'@'localhost' (using password: NO)

(veja abaixo)

Eu suspeito que eu tenho que permitir o acesso do usuário do Unix root para a raiz da conta mysql de alguma forma?

Quais são os passos corretos?

$ sudo aptitude install mtop
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Building tag database... Done      
The following NEW packages will be automatically installed:
  libcurses-perl 
The following packages have been kept back:
  linux-image-server linux-server pm-utils 
The following NEW packages will be installed:
  libcurses-perl mtop 
0 packages upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
Need to get 0B/168kB of archives. After unpacking 664kB will be used.
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
Preconfiguring packages ...
Selecting previously deselected package libcurses-perl.
(Reading database ... 36744 files and directories currently installed.)
Unpacking libcurses-perl (from .../libcurses-perl_1.13-1_i386.deb) ...
Selecting previously deselected package mtop.
Unpacking mtop (from .../mtop_0.6.6-1.2_all.deb) ...
Setting up libcurses-perl (1.13-1) ...
Setting up mtop (0.6.6-1.2) ...
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
dpkg: error processing mtop (--configure):
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 mtop
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up mtop (0.6.6-1.2) ...
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
dpkg: error processing mtop (--configure):
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 mtop
Reading package lists... Done             
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Writing extended state information... Done
Building tag database... Done             

Editar: Depois de ler o relatório de bug no launchpad, decidi usar a ferramenta semelhante mytop nas antigas edições do ubuntu.

    
por mit 10.09.2010 / 16:41

3 respostas

2

Primeiro inicie um cliente mysql usando sua conta root:

mysql -u root -p

De remover a senha de root somente para localhost e liberar os privilégios:

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

Agora instale o mtop, por exemplo:

sudo aptitude install mtop

Após a instalação, defina a senha de volta para sua senha antiga:

UPDATE mysql.user SET Password=PASSWORD('oldpassword') WHERE User='root' AND Host='localhost';FLUSH PRIVILEGES;

@JamesLawrie : Sugiro não fornecer sua senha diretamente ao comando, usando apenas -p para solicitar sua senha, o que impede que ela seja registrada no histórico do shell, consulte 5.3.2.2 . Diretrizes de usuário final para segurança de senha

@JamesLawrie : Especificar apenas o acesso ao host local melhora o aspecto de segurança. No seu exemplo, você usa '%' , que ativará o acesso root remoto sem uma senha!

Embora no final, corrigir esse bug provavelmente seria a melhor abordagem: link

    
por 02.11.2010 / 09:30
3

Este bug descreve algumas soluções alternativas e até pacotes alternativos (PPA):

link

    
por 10.09.2010 / 17:52
2

Uma maneira horrível de corrigir isso é remover a senha raiz do MySQL primeiro para localhost e depois adicioná-la novamente.
mysql -u root -pwhatever
UPDATE user SET Password=PASSWORD('') WHERE User='root' AND Host='%';
Instale seu programa
UPDATE user SET Password=PASSWORD('whatever') WHERE User='root' AND Host='%';
Uma vez instalado, deve haver um arquivo de configuração em algum lugar com os detalhes de login.

    
por 10.09.2010 / 17:19

Tags