Bueno, primero aclaremos que he leído todas las preguntas de Ask Ubuntu sobre este problema y he seguido todos los pasos de los documentos oficiales:
Estoy usando Ubuntu 16.04.1 LTS
Entonces, antes de que alguien sugiera algo que probablemente ya haya intentado, voy a mostrar lo que hice:
root@localhost:/# sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
MySQL se detuvo correctamente.
root@localhost:/# sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 3316
root@localhost:/#
Aquí no sé si esto estaba funcionando o no, así que sigo los pasos de todos modos.
root@localhost:/# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@localhost:/#
Parece que no funciona, ya que el servicio no se inició. Como no puedo continuar con los siguientes pasos, pruebo el otro método (purga).
Después de usar:
sudo apt-get --purge remove
sudo apt-get install
Intento el siguiente paso:
root@localhost:/# mysqladmin -u root password MyNewPassword
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
root@localhost:/#
Como esto tampoco funciona, probé otros métodos mencionados en la web mysql:
Así que mato el proceso mysql como se señala allí y luego uso
root@localhost:/# mysqld_safe --init-file=/home/me/mysql-init &
[1] 5267
root@localhost:/# 2017-02-01T12:47:49.250083Z mysqld_safe Logging to syslog.
2017-02-01T12:47:49.252427Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-01T12:47:49.254765Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-01T12:47:49.257045Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
[1]+ Salida 1 mysqld_safe --init-file=/home/me/mysql-init
root@localhost:/#
Ahora es cuando me estaba quedando sin opciones, así que también pruebo otro método mencionado aquí en Ask Ubuntu:
root@localhost:/# sudo dpkg-reconfigure mysql-server-5.7
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.17, use --force if you still need to run mysql_upgrade
root@localhost:/#
Y ahora estoy realmente sin opciones, por lo que cualquier sugerencia es bienvenida.
fuente
No pude hacer que mysql se reinstalara sin importar lo que intenté, terminé solo necesitando intentar restablecer la contraseña.
Tuve que seguir esta ruta en Ubuntu 16.04.1 LTS. Pasé una hora o más tratando todas las otras sugerencias de la página web de MySQL para todo en lo que además de la AskUbuntu Q & A, por fin tengo trabajo con:
Nota: si bien mostró Introduzca la contraseña para el usuario root, yo no tengo la contraseña original por lo que acaba de ingresar la misma contraseña para ser utilizada como la nueva contraseña.
Nota: no había /var/log/mysqld.log solo /var/log/mysql/error.log.
También tenga en cuenta que esto no funcionó para mí:
sudo dpkg-reconfigure mysql-server-5.7
tampoco lo hizo:
sudo dpkg-reconfigure --force mysql-server-5.5
Crear el directorio de servicio MySQL.
sudo mkdir /var/run/mysqld
Otorgue permiso al usuario de MySQL para escribir en el directorio de servicios.
sudo chown mysql: /var/run/mysqld
Entonces:
ejecutar / usr / bin / mysql_secure_installation
Salida de mysql_secure_installation
fuente
Tuve el mismo problema y lo resolví con:
(Aquí,
authentication_string
contiene el campo de contraseña).fuente