
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 mytop
en 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):
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.