Instalación de mtop en ubuntu 08.04

Instalación de mtop en ubuntu 08.04

Estoy instalando mtop en ubuntu 8.04. Mysql se está ejecutando.

Durante el proceso de instalación aparece un mensaje:

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

(vea abajo)

Sospecho que tengo que permitir el acceso desde la raíz del usuario Unix a la raíz de la cuenta MySQL de alguna manera.

¿Cuáles son los pasos correctos?

$ 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:Después de leer el informe de error en Launchpad, decidí utilizar una herramienta similar mytopen las ediciones anteriores de Ubuntu.

Respuesta1

Primero abra, inicie un cliente mysql usando su cuenta raíz:

mysql -u root -p

Luego elimine la contraseña de root solo paraservidor localy eliminar los privilegios:

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

Ahora instale mtop, por ejemplo:

sudo aptitude install mtop

Después de la instalación, establezca la contraseña nuevamente en su contraseña anterior:

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

@JamesLawrie: Le recomiendo encarecidamente no proporcionar su contraseña directamente al comando; usar solo -p solicitará su contraseña, lo que evita que se registre en su historial de shell; consulte 5.3.2.2. Directrices para el usuario final sobre la seguridad de las contraseñas

@JamesLawrie: Especificar solo el acceso al host local mejora el aspecto de seguridad. En tu ejemplo usas'%'que permitiráremotoacceso root sin contraseña!

Aunque al final, corregir este error probablemente sea el mejor enfoque:https://bugs.launchpad.net/ubuntu/+source/mtop/+bug/77980

Respuesta2

Este error describe algunas soluciones e incluso paquetes alternativos (PPA):

https://bugs.launchpad.net/ubuntu/+source/mtop/+bug/77980

Respuesta3

Una forma horrible y pirateada de solucionar este problema es eliminar primero la contraseña raíz de MySQL para localhost y luego volver a agregarla.
mysql -u root -pwhatever
UPDATE user SET Password=PASSWORD('') WHERE User='root' AND Host='%';
Instale su programa
UPDATE user SET Password=PASSWORD('whatever') WHERE User='root' AND Host='%';
Una vez que se haya instalado, debería haber un archivo de configuración en algún lugar con los detalles de inicio de sesión.

información relacionada