the - El directorio mysqld_safe ''/ var/run/mysqld'' para el archivo de socket UNIX no existe
start mysql socket (4)
Al iniciar mysql server 5.7.17 usando mysqld_safe, se produce el siguiente error.
2017-02-10T17:05:44.870970Z mysqld_safe Logging to ''/var/log/mysql/error.log''.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to ''/var/log/mysql/error.log''.
2017-02-10T17:05:44.874547Z mysqld_safe Directory ''/var/run/mysqld'' for UNIX socket file don''t exists.
Como arreglarlo ?
Cuando usé el código
mysqld_safe --skip-grant-tables &
pero recibo el error:
El directorio mysqld_safe ''/ var / run / mysqld'' para el archivo de socket UNIX no existe.
$ systemctl stop mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &
Lo resolví:
$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld
Ahora uso el mismo código
mysqld_safe --skip-grant-tables &
y obtengo
mysqld_safe Inicio del demonio mysqld con bases de datos desde / var / lib / mysql
Si uso
$ mysql -u root
obtendré:
Versión del servidor: 5.7.18-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2017, Oracle y / o sus filiales. Todos los derechos reservados.
Oracle es una marca registrada de Oracle Corporation y / o sus filiales. Otros nombres pueden ser marcas registradas de sus respectivos propietarios.
Escriba "ayuda"; o ''/ h'' para obtener ayuda. Escriba ''/ c'' para borrar la declaración de entrada actual.
mysql>
Ahora es el momento de cambiar la contraseña:
mysql> use mysql
mysql> describe user;
Lectura de información de la tabla para completar los nombres de tabla y columna Puede desactivar esta función para obtener un inicio más rápido con -A
Base de datos cambiada
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@''localhost'' = PASSWORD(''newpwd'');
o Si tiene una cuenta raíz mysql que se puede conectar desde cualquier lugar, también debe hacer lo siguiente:
UPDATE mysql.user SET Password=PASSWORD(''newpwd'') WHERE User=''root'';
Metodo alternativo:
USE mysql
UPDATE user SET Password = PASSWORD(''newpwd'')
WHERE Host = ''localhost'' AND User = ''root'';
Y si tiene una cuenta raíz a la que puede acceder desde cualquier lugar:
USE mysql
UPDATE user SET Password = PASSWORD(''newpwd'')
WHERE Host = ''%'' AND User = ''root'';`enter code here
ahora necesita
quit
de mysql y detener / iniciar
FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
ahora nuevamente `mysql -u root -p ''y use la nueva contraseña para obtener
mysql>
Parece extraño que este directorio no se haya creado en la instalación: ¿ha cambiado manualmente la ruta del archivo de socket en my.cfg?
¿Ha intentado simplemente crear este directorio usted mismo y reiniciar el servicio?
mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
Puede intentar lo siguiente si su base de datos no tiene ningún dato O si tiene otro ausente para restaurar esos datos. Deberá conocer la contraseña raíz del servidor Ubuntu pero no la contraseña raíz mysql.
Es muy probable que muchos de nosotros hayamos instalado "mysql_secure_installation" ya que esta es una práctica recomendada. Navegue al directorio bin donde existe mysql_secure_installation. Se puede encontrar en el directorio / bin en los sistemas Ubuntu. Al volver a ejecutar el instalador, se le preguntará si debe cambiar la contraseña de la base de datos raíz.
Trabaja para mí en CentOS:
$ service mysql stop
$ mysqld --skip-grant-tables &
$ mysql -u root mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER ''root''@''localhost'' IDENTIFIED BY ''new_password'';
$ service mysql restart