recuperar - usuario root mysql
No se puede restablecer la contraseƱa de root con--skip-grant-tables en ubuntu 16 (3)
Descubrí que mysql.sock se elimina cuando el servicio mysql se detiene y mysqld_safe no puede crearlo (no pude encontrar el motivo), por lo que mi solución hizo una copia de seguridad de la carpeta de calcetines y se restauró antes de iniciar mysqld_safe
Iniciar servidor
$ sudo service mysql start
Ir a la carpeta de calcetines
$ cd /var/run
Una copia de seguridad del calcetín
$ sudo cp -rp ./mysqld ./mysqld.bak
Detener servidor
$ sudo service mysql stop
Restaurar el calcetín
$ sudo mv ./mysqld.bak ./mysqld
Iniciar mysqld_safe
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
Inicial shell mysql
mysql -u root
Cambia la contraseña
FLUSH PRIVILEGES;
SET PASSWORD FOR root@''localhost'' = PASSWORD(''my_new_password'');
Estoy tratando de restablecer la contraseña de root después de MysqlPasswordReset pero cuando intento iniciar el servidor con --skip-grant-tables, el servidor no se inicia
- Ubuntu 16.04.1 LTS (GNU / Linux 4.4.0-59-genérico x86_64)
- mysql Ver 14.14 Distrib 5.7.17, para Linux (x86_64)
El servidor esta funcionando
$ mysql -u root
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO)
Detener servidor
$ sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
Tratando de comenzar con --skip-grant-tables
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 9856
Conectar sin contraseña
$ mysql -u root
ERROR 2002 (HY000): Can''t connect to local MySQL server through socket ''/var/run/mysqld/mysqld.sock'' (2)
[1]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
También intenté comenzar con mysql_safe (error.log está vacío)
sudo mysqld_safe --skip-grant-tables
2017-02-01T16:33:31.382105Z mysqld_safe Logging to syslog.
2017-02-01T16:33:31.383942Z mysqld_safe Logging to ''/var/log/mysql/error.log''.
2017-02-01T16:33:31.386058Z mysqld_safe Logging to ''/var/log/mysql/error.log''.
2017-02-01T16:33:31.388009Z mysqld_safe Directory ''/var/run/mysqld'' for UNIX socket file don''t exists.
Probé de muchas maneras, incluyendo la de @pedronalbert, pero aún no funcionaba.
La forma en que lo resolví es agregar " skip-grant-tables " en /etc/my.cnf y luego iniciar el servicio mysql y conectar mysql con "mysql -u root " como https://www.codero.com/knowledge-base/content/33/296/en/how-to-reset-your-root-mysql-password.html
Funciona en mi VM CentOS 7.
pedronalbert''s respuesta anterior de pedronalbert''s funcionó para mí, pero el último paso ahora está obsoleto y lanza la siguiente advertencia:
Advertencia | 1287 | ''SET PASSWORD FOR = PASSWORD ('' '')'' está en desuso y se eliminará en una versión futura. Utilice SET PASSWORD FOR = '''' en su lugar
Utilice este comando en su lugar:
SET PASSWORD FOR root = ''<plaintext_password>'';