Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

restart mysql

Estas en el tema de restart mysql en el foro de Mysql en Foros del Web. Hola gente, tengo una tabla que se clava... aún no me entero por qué... estoy luchando con los explain a ver que me está desbordando ...
  #1 (permalink)  
Antiguo 16/02/2011, 21:33
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
restart mysql

Hola gente, tengo una tabla que se clava... aún no me entero por qué... estoy luchando con los explain a ver que me está desbordando la BBDD... el tema es que la web está operativa y cuando se queda colgada no me queda mas remedio que reiniciar mysql... He visto algunos scripts por ahí para reiniciarla automáticamente si no puede abrir conexión, pero no conseguí que funcionen... supongo que estos habría que correrlos como root, pero en el script no hay donde poner contraseñas... también vi que otra gente corre un cronjob cada 5 minutos para que se reinicie mysql... pero a mi modo de ver esto es una locura!! ...ya me parece bastante chapucero poner el script que reinicie si falla... soy consciente que tengo que dar con la falla que cuelga mi base de datos, pero la verdad que mientras tanto un apaño de esos sería genial... alguien conoce un método para hacerlo? (tengo acceso al root ese no sería el problema)
Gracias como siempre!
  #2 (permalink)  
Antiguo 17/02/2011, 08:49
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: restart mysql

Uno de los scripts que encontré es este:

Código PHP:

$connSTR 
mysql_connect($server,$username,$password);
 
if (!
$connSTR){ 

mail('[email protected]','MySQL Restarted Successfully',mysql_error()); 

exec('/etc/rc.d/init.d/mysqld restart'); 

exit;


  #3 (permalink)  
Antiguo 19/02/2011, 20:24
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: restart mysql

el cronjob que encontré sería algo como esto....

*/5 * * * * /usr/bin/php /path/to/script/check_restart_db.php

pero tampoco lo encuentro muy práctico estar reiniciando mysql cada 5 minutos...
si alguien tiene alguna idea de como puedo hacer un script que funcione...
Gracias
  #4 (permalink)  
Antiguo 19/02/2011, 20:41
 
Fecha de Ingreso: enero-2009
Mensajes: 165
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: restart mysql

dejo otro script que encontré para correr con cronjob...
yo busco algo mas sencillo como el primero que solo se ejecute cuando no consiga conectar a la bbdd....
Código PHP:
#!/bin/bash
# Shell script to restart MySQL server if it is killed or not working
# due to ANY causes.
# When script detects mysql is not running (it basically sends ping request
# to MySQL) it try to start using /etc/init.d/mysql script; and it sends an
# email to user indicating the status.
# This script must be run from Cron Job so that it can monitor mysql server.
# For more info visit following url:
# http://www.cyberciti.biz/nixcraft/vivek/blogger/2005/08/linux-mysql-server-monitoring.html
# --------------------------------------------------------------------------
# Copyright (C) 2005 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
 
# mysql root/admin username
MUSER="root"
# mysql admin/root password
MPASS="SET-ROOT-PASSWORD"
# mysql server hostname
MHOST="localhost"
#Shell script to start MySQL server i.e. path to MySQL daemon start/stop script.
# Debain uses following script, need to setup this according to your UNIX/Linux/BSD OS.
MSTART="/etc/init.d/mysql start"
# Email ID to send notification
EMAILID="[email protected]"
# path to mail program
MAILCMD="$(which mail)"
# path mysqladmin
MADMIN="$(which mysqladmin)"
 
#### DO NOT CHANGE anything BELOW ####
MAILMESSAGE="/tmp/mysql.fail.$$"
 
# see if MySQL server is alive or not
# 2&1 could be better but i would like to keep it simple and easy to
# understand stuff :)
$MADMIN -h $MHOST -u $MUSER -p${MPASSping 2>/dev/null 1>/dev/null
if [ $? -ne 0 ]; then
    
echo "" >$MAILMESSAGE
    
echo "Error: MySQL Server is not running/responding ping request">>$MAILMESSAGE
    
echo "Hostname: $(hostname)" >>$MAILMESSAGE
    
echo "Date & Time: $(date)" >>$MAILMESSAGE
    
# try to start mysql
    
$MSTART>/dev/null
    
# see if it is started or not
    
o=$(ps cax grep -' mysqld$')
    if [ 
$o -eq 1 ]; then
        sMess
="MySQL Server MySQL server successfully restarted"
    
else
        
sMess="MySQL server FAILED to restart"
    
fi
    
# Email status too
    
echo "Current Status: $sMess" >>$MAILMESSAGE
    
echo "" >>$MAILMESSAGE
    
echo "*** This email generated by $(basename $0) shell script ***" >>$MAILMESSAGE
    
echo "*** Please don't reply this email, this is just notification email ***" >>$MAILMESSAGE
    
# send email
    
$MAILCMD -"MySQL server" $EMAILID $MAILMESSAGE
else # MySQL is running :) and do nothing
    
:
fi
# remove file
rm -f $MAILMESSAGE 

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:28.