De repente, mi servidor MySQL 5.5 local dejó de funcionar en mi Windows XP SP3.
También tengo instalado WAMP Apache y WAMP MySQL, pero WAMP MySQL no se está ejecutando. El registro de errores muestra:
- No se puede iniciar el servidor: Enlace en el puerto TCP / IP: No existe tal archivo o directorio
- ¿Ya tiene otro servidor mysqld ejecutándose en el puerto: 3306?
Intenté cambiar el puerto de 3306 a 3307, pero el servicio aún no se iniciaba, dando un error:
El Visor de eventos muestra:
- Error grave: no se pueden abrir y bloquear tablas de privilegios: la tabla 'mysql.host' no existe
- No se puede abrir la tabla mysql.plugin. Ejecute mysql_upgrade para crearlo.
Aparentemente, solo puedo ejecutar mysql_upgrade si el servidor se está ejecutando. ¿Cómo puedo crear 'mysql.host' si el servicio no se puede iniciar?
Desinstalé el Servidor MySQL y lo reinstalé, y durante el asistente de configuración después de la instalación, recibo un error: No se pudo iniciar el servicio. Error: 0
¿Cómo procedo desde aquí?
Respuestas:
Ejecute el siguiente comando
fuente
systemctl status mysqld.service 2015-02-20 15:41:07 15160 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
Inicialice mysql antes de comenzar en Windows.
fuente
Lo primero que debe hacer es ejecutar estos comandos:
Tenga en cuenta las diferencias.
MySQL 5.0 tiene 17 tablas en el esquema mysql
MySQL 5.1 tiene 23 tablas en el esquema mysql
MySQL 5.5 tiene 24 tablas en el esquema mysql
Tenga en cuenta que mysql.plugin no existe en MySQL 5.0. Es muy posible suponer que de alguna manera instaló MySQL 5.0 e hizo desaparecer las tablas vitales para MySQL 5.5.
Aquí hay algunas buenas noticias. Hay algo que puedes probar.
Para este ejemplo
Aquí están tus pasos
Eso es.
Si está ejecutando esto en Windows, deben aplicarse los mismos principios.
Darle una oportunidad !!!
ACTUALIZACIÓN 2011-07-29 16:15 EDT
Si sus nombres de usuario tenían privilegios específicos de base de datos, estos son sus pasos
fuente
Agregue la ruta MySQL a las variables de entorno.
fuente
parece que ya tienes MySQL corriendo
tratar
si ve algún resultado, probablemente necesite detenerlo (o reiniciar el cuadro).
Si no ve ningún resultado, intente ejecutar mysqld sin demonizar y ver el resultado.
fuente
Agregué una etiqueta de Windows para ayudar a las personas a responder la pregunta.
Mi fondo no es Windows, pero se aplican los principios.
¿Ya hay un proceso mysql ejecutándose? Si es así, deberá eliminarlo antes de desinstalarlo. Si aún se estaba ejecutando cuando intentó desinstalar / reinstalar, tendrá procesos y archivos que le impiden desinstalar por completo.
Abra la ventana de servicios, busque cualquier cosa con mysql en el nombre y asegúrese de que esté configurado para no intentar comenzar con un reinicio. Luego abra la pestaña de procesos en ejecución de la ventana de programas en ejecución (use CTRL-ALT-DEL para abrir) y busque y elimine los procesos en ejecución con mysql en el nombre.
Si está satisfecho de que no hay más procesos mysql en ejecución, puede continuar. Es posible que desee reiniciar para asegurarse de que no haya más procesos mysql en ejecución.
En este momento, debería poder reinstalar e iniciar mysql.
fuente
Ejecute mysql-test-run y debería ver el siguiente resultado:
fuente
Si mueve su datadir, no solo necesita otorgar los nuevos permisos de datadir, sino que debe asegurarse de que todos los directorios principales tengan permiso.
Moví mi datadir a un disco duro, montado en Ubuntu como:
y mi datadir era Bases de datos .
Tuve que establecer permisos en 771 para cada uno de los directorios de medios, usuarios y datos:
Si esto no funciona, otra forma de hacer que mysql funcione es cambiar el usuario en /etc/mysql/my.cnf a root; aunque no hay duda de algunos problemas al hacerlo desde una perspectiva de seguridad.
fuente