Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

jueves, 1 de julio de 2021

Super sencillo script en python3 para optimizar las tablas de MYSQL

#!/usr/bin/python3.3

#The objetive of this script is to find all tables in a MYSQL DB and opmitize all of them

import dbconnect

import time

from datetime import datetime



## // VARIABLE DECLARATION ##//

startTime = datetime.now()

conn = dbconnect.dbconnect()

conn.autocommit(True)

cur = conn.cursor()


print ("Starting time: ", startTime)


SQLQUERY=("SHOW TABLES") #Find every table in the DB

cur.execute(SQLQUERY)

tables = cur.fetchall()



if len(tables)>0: #Prevent there are not tables in the list

  for table in tables:  #For every table in the DB

    try:

      SQLQUERY="OPTIMIZE TABLE "+ table[0]  #Construct the SQL QUERY

      print ("   Optimizing", table[0])

      cur.execute(SQLQUERY)

    except:

      pass


print ("Script execution time:",datetime.now()-startTime)

print ("Ending time: ", datetime.now())

print ("******** ****** ")

lunes, 6 de agosto de 2012

Error 1017 en Cacti. MySQL. Graficas en blanco



Error:
07/04/2012 05:37:49 PM - CMDPHP: Poller[0] ERROR: SQL Cell Failed!, Error:'1017', SQL:"SELECT count(*) FROM polle
r_time WHERE poller_id=0 AND end_time>'0000-00-00 00:00:00'"

 07/04/2012 05:38:34 PM - CMDPHP: Poller[0] ERROR: SQL Cell Failed!, Error:'1017', SQL:"SELECT count(*) FROM polle
r_time WHERE end_time='0000-00-00 00:00:00'"

 Procedimiento:
  En el archivo cacti.log se ve el error anterior. El mismo indica que no consigue (o no puede trabajar) con tabla poller_output de mysql.
  En este sentido, hay tres soluciones:

1) Reparar la tabla de mysql con el script php que trae cacti

 #php $PATH-TO-CACTI/cli/repair_database.php

2) Reparar la tabla con comandos mysql: 

 #mysql> REPAIR TABLE poller_output;
 
  Si no sabes la información de usuario, clave y DB del cacti, la misma la puedes conseguir en:


$PATH-TO-CACTI/include/config.php


3) Borrar la tabla y volverla a hacer (esta solución en lo personal a pesar de ser agresiva funciona perfectamente y no pierdes el historico de Cacti). Para ello entra en el CLI de mysql y ejecuta:

 --
-- Table structure for table `poller_output`
--
DROP TABLE IF EXISTS `poller_output`;
CREATE TABLE `poller_output` (
`local_data_id` mediumint(8) unsigned NOT NULL default '0',
`rrd_name` varchar(19) NOT NULL default '',
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`output` text NOT NULL,
PRIMARY KEY (`local_data_id`,`rrd_name`,`time`)
) TYPE=MyISAM;
--
-- Dumping data for table `poller_output`
--
LOCK TABLES `poller_output` WRITE;
/*!40000 ALTER TABLE `poller_output` DISABLE KEYS */;
/*!40000 ALTER TABLE `poller_output` ENABLE KEYS */;
UNLOCK TABLES;



Listo!, luego puedes esperar a que el poller se ejecute y a los 15 minutos seguramente tendrás algo en tus gráficas. Si desees forzar el poller el comando es el siguiente:


#/usr/bin/php -q /var/www/miserver-cacti/poller.php --force


 Espero sea útil,





miércoles, 1 de abril de 2009

RSS / PHP / MySQL. Website con minimo mantenimiento

Alguna vez has querido hacer una página que no necesite mantenimiento?
en http://www.tumujer.com tengo una página medianamente automatizada donde casi no le hago mantenimiento.

En la página tengo unos "robots" que buscan RSS en internet, los guardan en base de datos y luego con PHP hago el resto!!. Todos los días se actualiza la página.

Ojo, cada vez que imprimo la noticia tengo un link y hago referencia al autor original. Mucho cuidado con esto!.

Una mejora práctica en el Transporte DNS sobre UDP en IPv6

Por Hugo Salgado y Alejandro Acosta Introducción y planteamiento del problema En el presente documento queremos discutir sobre un draft (bor...