No se puede establecer la contraseña para el usuario "root" de mysql

16

Soy nuevo en Ubuntu. Estoy ejecutando Ubuntu 12.10. Estoy tratando de instalar apache, php, mysql. Sin embargo, he instalado Apache y está funcionando perfectamente.

sudo apt-get install apache2

Pero cuando intenté instalar mysql usando el siguiente comando

sudo apt-get install mysql-server 

Después de la descarga, solicitó la contraseña pero luego de ingresar y confirmar la contraseña. Recibo el siguiente mensaje de error.

No se puede establecer la contraseña para el usuario "root" de Mysql

Se produjo un error al configurar la contraseña para mysql
usuario administrativo Esto puede haber sucedido porque la cuenta ya tiene una contraseña o por un problema de comunicación con el servidor Mysql.
Debe verificar la contraseña de la cuenta después de la instalación del paquete.
Lea el archivo /usr/share/doc/mysql-server-5.5/README.Debian para obtener más información.

después de hacer clic en el botón Aceptar en el mensaje, recibo el siguiente mensaje en la terminal

Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

El registro de errores de Mysql dice

130209 14:26:37 [Note] Plugin 'FEDERATED' is disabled.
130209 14:26:37 InnoDB: The InnoDB memory heap is disabled
130209 14:26:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130209 14:26:37 InnoDB: Compressed tables use zlib 1.2.7
130209 14:26:37 InnoDB: Using Linux native AIO
mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)
130209 14:26:37  InnoDB: Error: unable to create temporary file; errno: 13
130209 14:26:37 [ERROR] Plugin 'InnoDB' init function returned error.
130209 14:26:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130209 14:26:37 [ERROR] Unknown/unsupported storage engine: InnoDB
130209 14:26:37 [ERROR] Aborting

He buscado este problema, pero nada me funcionó. Por favor ayuda.

Devendra Verma
fuente
1
Compruebe si ya lo ha mysql-serverinstalado ejecutando ps -e | grep mysqld. Si ve algún resultado, eso significa que ya está instalado.
verde
No estoy obteniendo ningún resultado para esto
Devendra Verma
El error mysql que publicaste podría indicar un problema con tu /etc/mysql/my.cnf. Si modificó ese archivo o cualquier archivo en el directorio / etc / mysql, restaure los originales e intente nuevamente.
Richard Ayotte
Nathan, estoy enfrentando el mismo problema en esta publicación y ya he seguido las mismas instrucciones que green7 publicó y las tuyas también. Ni siquiera puedo entender por qué mysql dejó de funcionar. Me encantaría que me pudieras ayudar más. Editar: Solo para hacerle saber que todo eso sucedió porque comencé a recibir de la nada el siguiente mensaje cuando intento instalar mysql: ERROR: 1146 La tabla 'mysql.user' no existe Gracias de antemano.
No puedo responder debido a la baja reputación. Esta esencia funciona para mí gist.github.com/ervinb/63138a504da11a9c27af
gayavat

Respuestas:

25

El mismo problema de configuración de contraseña de root aquí, el mío posiblemente causado por una instalación manual fallida de mysql server 5.6 anteriormente. Una desinstalación completa de mysql no es tarea fácil. Purgué / reinstalé durante horas y finalmente lo resolví con

sudo dpkg --purge mysql-client-core-5.5 # or alternative version
sudo dpkg --purge mysql-client
sudo dpkg --purge mysql-server-core-5.5 # or alternative version
sudo dpkg --purge mysql-common

Básicamente solo escribo

sudo dpkg --purge mysql # followed by two tabs

Luego, --purgecualquier paquete que el terminal complete automáticamente. Purga mysql-commonpor fin debido a algunos problemas de dependencia.

Use los dpkgcomandos anteriores además de

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

También probé el método de Greq

sudo rm -rf /etc/mysql

Elimine la carpeta mysql de / var / lib

sudo rm -rf /var/lib/mysql/

En este punto, para asegurarse de que mysql esté completamente eliminado, verifique con

which mysql
mysql --version

El primero no debería devolver ningún resultado en lugar de una carpeta. El segundo debería devolver mysql no está instalado en lugar de un número de versión. De lo contrario, la eliminación aún está incompleta.

La importancia de dpkg --purgees, cuando se usa apt-getsolo, which mysqly mysql --versioncomportarse como mysql todavía está allí.

Antes de la reinstalación, reconfigure dpkg y actualice

sudo dpkg --configure -a
sudo apt-get update

Problema resuelto finalmente. Espero que sea útil para otras personas.

Sophia Feng
fuente
3
En mi caso, cuando: sudo dpkg --purge mysql-common falla con: dpkg: los problemas de dependencia impiden la eliminación de mysql-common: mysql-client-5.5 depende de mysql-common (> = 5.5.35-0ubuntu0.12.04. 2) libmysqlclient18 depende de mysql-common (> = 5.5.35-0ubuntu0.12.04.2). dpkg: error al procesar mysql-common (--purge): problemas de dependencia - no se eliminaron Se encontraron errores durante el procesamiento: mysql-common
ses
Esto también funcionó para mí.
Michael Lindman
He estado buscando durante algún tiempo un conjunto de instrucciones que resolverían completamente la situación. Esto funcionó tal como se describe. Gracias.
Matt Setter
Trabajó para mí, gracias hombre! ¡Es una pena que Linux haga un trabajo tan desordenado con la colocación de archivos!
southerton
Finalmente funcionó para mí. ¡Creo que un reinicio después de todo lo que podría haber ayudado a superarme!
Danimal
5

Necesita eliminar completamente mysql. Créeme, lo intenté. dpkg no hará esto solo.

Ver

/programming/10853004/removing-mysql-5-5-completely

Si estás en un apuro

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.5
sudo apt-get purge mysql-client-core-5.5
Pedro Braconnot
fuente
¡Usted señor, es un héroe! Pasé horas buscando en Google y probando los diferentes consejos en todas partes, ¡y solo el tuyo realmente funcionó! Creo que la diferencia reside en eliminar el usuario de mysql, ya que probé la mayoría de las otras opciones. PD: tuve que realizar kill -9varios procesos antes de ejecutar el deluser mysqlcomando con éxito.
Shautieh
3

Creo que la razón es que mysqlno puede acceder a su /tmp/directorio, como dice en la línea

mysqld: No se puede crear / escribir en el archivo '/ tmp / ibNuz7q0' (Código de error: 13)

Ejecute los siguientes comandos en una terminal:

sudo su
raíz conocida: root / tmp
chmod 1777 / tmp
/ usr / sbin / mysqld &

Explicacion :

  • sudo su: Para ejecutar los siguientes comandos como root.
  • chown root:root /tmp: Convierte al usuario rootdel rootgrupo en el propietario /tmp.
  • chmod 1777 /tmp: Cambie los permisos de /tmpmodo que sea accesible para todos los usuarios y solo el propietario o el rootpuedan eliminar los archivos en ese directorio. (Más sobre permisos de archivos aquí )
  • /usr/sbin/mysqld &: Inicia el mysqlddemonio.
verde
fuente
después de ingresar el último comando, recibo este mensaje # /etc/init.d mysqld start bash: /etc/init.d: ​​Is an directory
Devendra Verma
modificó la respuesta
verde
Recibo este resultado después de / usr / sbin / mysqld & / usr / sbin / mysqld & [1] 3497. ¿Cómo puedo verificar si mysql se está ejecutando?
Devendra Verma
Para verificar si su mysql se está ejecutando, ejecute ps -e | grep mysqldy si obtiene algún resultado, está funcionando bien.
verde
gracias @ green7 aquí está la salida ps -e | grep mysqld 1075? 00:00:04 mysqld
Devendra Verma
2

Anoche luché durante varias horas con esto y leí todo lo que Google tiene en su índice sobre el problema.

Reinstalé mysql 20 veces. Esa es probablemente una figura literal.

Finalmente, uno de estos, o ambos, solucionó el problema (después de desinstalar / purgar / grabar mysql):

  1. sudo rm -rf /etc/mysql (esto no se eliminó después de la purga)
  2. Luego apagué el servidor y cambié el tamaño de mi instancia de VM de 512 MB a 1 GB (RAM).

Luego, corrí sudo aptitude install mysql-servery finalmente se instaló con éxito:

$ sudo aptitude install mysql-server
[sudo] password for [REDACTED]: 
The following NEW packages will be installed:
  libdbd-mysql-perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,589 kB of archives. After unpacking 94.6 MB will be used.
Do you want to continue? [Y/n/?] Y
Get: 1 http://ftp.us.debian.org/debian/ wheezy/main mysql-common all 5.5.31+dfsg-0+wheezy1 [85.3 kB]
Get: 2 http://ftp.us.debian.org/debian/ wheezy/main libmysqlclient18 amd64 5.5.31+dfsg-0+wheezy1 [687 kB]
Get: 3 http://ftp.us.debian.org/debian/ wheezy/main libdbd-mysql-perl amd64 4.021-1+b1 [126 kB]
Get: 4 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Get: 5 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-core-5.5 amd64 5.5.31+dfsg-0+wheezy1 [3,784 kB]
Get: 6 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,900 kB]
Get: 7 http://ftp.us.debian.org/debian/ wheezy/main mysql-server all 5.5.31+dfsg-0+wheezy1 [83.6 kB]
Fetched 8,589 kB in 2s (3,068 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 52430 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.31+dfsg-0+wheezy1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1+b1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.31+dfsg-0+wheezy1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 52616 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31+dfsg-0+wheezy1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.31+dfsg-0+wheezy1) ...
Setting up libdbd-mysql-perl (4.021-1+b1) ...
Setting up mysql-client-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-core-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-5.5 (5.5.31+dfsg-0+wheezy1) ...
Stopping MySQL database server: mysqld.
131124 15:39:56 [Note] Plugin 'FEDERATED' is disabled.
131124 15:39:56 InnoDB: The InnoDB memory heap is disabled
131124 15:39:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131124 15:39:56 InnoDB: Compressed tables use zlib 1.2.7
131124 15:39:56 InnoDB: Using Linux native AIO
131124 15:39:56 InnoDB: Initializing buffer pool, size = 128.0M
131124 15:39:56 InnoDB: Completed initialization of buffer pool
131124 15:39:56 InnoDB: highest supported file format is Barracuda.
131124 15:39:56  InnoDB: Waiting for the background threads to start
131124 15:39:57 InnoDB: 5.5.31 started; log sequence number 1595675
131124 15:39:57  InnoDB: Starting shutdown...
131124 15:39:58  InnoDB: Shutdown completed; log sequence number 1595675
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..
Setting up mysql-server (5.5.31+dfsg-0+wheezy1) ...
Greg
fuente
1

Escriba sudo apt-get purge mysql-server && sudo apt-get install mysql-serversi eso no funciona, por favor deje un comentario en mi respuesta y trabajaré con usted para resolver este problema.

Nathan Suchy
fuente
0

Los scripts de instalación para todas las versiones de Ubuntu después de 12.04 no siguen el mismo proceso de configuración que 12.04. En 12.04 se le solicita explícitamente que establezca la contraseña de mysql durante la instalación. Para 12.10 y posteriores simplemente solicita la contraseña de root de mysql, pero ¿cuál es esa contraseña? El script de instalación es un paso atrás. Recomiendo instalar 12.04 en una máquina virtual e instalar mysql allí. Si eres como yo y usas esto en conjunto con Drupal, definitivamente debes apegarte a 12.04.

Gary
fuente
0

Solución diferente para aquellos que todavía tienen problemas. Espero poder ayudar a aquellos que intentan reinstalar Mysql. Nota, es una misión de buscar y destruir. Así que se cansado. Asumiendo su raíz:

apt-get purge mysql*
apt-get purge dbconfig-common #the screen used for mysql password
find / -name *mysql*          #delete any traces of mysql
#insert apt-get cleanups, autoremove,updates etc.

Originalmente, algo sobrante estaba interfiriendo con mi inicio de mysqlserver-5.5. Estos comandos terminaron resolviendo el problema por mí mismo.

mastash3ff
fuente