Blackhold

Archive for the “bbdd” Category

Exportar consulta SQL a un fichero csv

Posted on abril 10th, 2016 by admin

select callrates.id, users.usr, callrates.extension, callrates.destination, callrates.calldate, callrates.duration, callrates.description, callrates.stablishment, callrates.rate INTO OUTFILE '/tmp/export_201603.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' FROM callrates, users WHERE users.id=callrates.user and year(calldate) = 2016 AND month(calldate) = 03;

No hay opción de exportar la cabecera.… ||| Seguir leyendo... >>>

Dump MySQL a través de PHP

Posted on març 15th, 2016 by admin

Tengo un servidor al que sacarle una copia de la bbdd pero no me deja usar exec y como consecuencia mysqldump… así que un script para hacerlo de otra forma:

backup_tables('localhost','username','password','blog');

/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
	
	$link = mysql_connect($host,$user,$pass);
	mysql_select_db($name,$link);
	
	//get all of the tables
	if($tables == '*')
	{
		$tables = array();
		$result = mysql_query('SHOW TABLES');
		while($row = mysql_fetch_row($result))
		{
			$tables[] = $row[0];
		}
	}
	else
	{
		$tables = is_array($tables) ? $tables : explode(',',$tables);
	}
	
	//cycle through
	foreach($tables as $table)
	{
		$result = mysql_query('SELECT * FROM '.$table);
		$num_fields = mysql_num_fields($result);
		
		$return.= 'DROP TABLE '.$table.';';
		$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
		$return.= "\n\n".$row2[1].";\n\n";
		
		for ($i = 0; $i < $num_fields; $i++) 
		{
			while($row = mysql_fetch_row($result))
			{
				$return.= 'INSERT INTO '.$table.' VALUES(';
				for($j=0; $j < $num_fields; $j++) 
				{
					$row[$j] = addslashes($row[$j]);
					$row[$j] = ereg_replace("\n","\\n",$row[$j]);
					if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
					if ($j < ($num_fields-1)) { $return.= ','; }
				}
				$return.= ");\n";
			}
		}
		$return.="\n\n\n";
	}
	
	//save file
	$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
	fwrite($handle,$return);
	fclose($handle);
}

Te guarda el dump en la raiz del script.

||| Seguir leyendo... >>>

Multiplicar por 1.5 campo en MySQL

Posted on febrer 5th, 2015 by admin

Me encuentro que tengo que multiplicar por 1.5 los registros de una tabla MySQL pero tengo 75.000 registros a actualizar… en su momento hice un programa para exportar los datos en formato csv y luego poder importarlos de nuevo… pero es que se me cansa el dedo al tener que hacerlo a mano :P así que he buscado otra forma un poquito mas elegante para hacerlo. Por supuesto necesitas acceso a la base de datos!… ||| Seguir leyendo... >>>

Instalación de Centreon

Posted on març 16th, 2011 by admin

Centreon es un gestor via web de alertas, graficas y estados de servidor. Su base es un nagios y acepta peticiones nrpe y traps snmp.

Este “pequeño” manual explica los pasos seguidos para instalarlo, ya que me llevó varios días, básicamente por un atasco mental con ndoutils que era preciso generar el ndomod.o pero para la versión estable no funcionaba, así que hemos tirado de la versión que viene en el sistema que curiosamente es la beta. El sistema usado es una debian squeeze 6.0.0.… ||| Seguir leyendo... >>>

mysql: debian-sys-maint

Posted on setembre 22nd, 2010 by admin

Una de las maquinas me está soltando este error:

/etc/cron.daily/logrotate:
error: error running shared postrotate script for ‘/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log ‘
run-parts: /etc/cron.daily/logrotate exited with return code 1

también veremos que si queremos reiniciar el mysql nos saca este error:

# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld failed!
# /etc/init.d/mysql start
Starting MySQL database server: mysqld already running.
/usr/bin/mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘debian-sys-maint’@’localhost’ (using password: YES)’… ||| Seguir leyendo... >>>

mysqldump compatible

Posted on juny 7th, 2010 by admin

Cuando estamos generando un mysqldump de una base de datos mysql en una versión específica, es posible que si la importación de este dump se hace en una versión de base de datos distinta a la de origen, esta importación de errores.
Para ello usaremos la opción no documentada –compatible

mysqldump -uroot -p –opt databasename –compatible=mysql323 > dumpfilename… ||| Seguir leyendo... >>>

ADRCI

Posted on març 25th, 2010 by admin

[purge_adrci.sh]

ADRCI es un programa que sirve para gestionar logs, incidencias, alertas y trazas de aplicaciones de ORACLE, como por ejemplo las bases de datos. Es una herramienta útil para identificar y empaquetar las incidencias que nos puedan dar las bases de daos en algún momento y mandarlas fácilmente a Oracle para analizarlas.

purge_ADRCI.sh es un script que busca cuales son los homes de las bases de datos ORACLE instaladas en nuestro servidor y limpia los ficheros generados, como logs, incidencias, alertas y trazas mas antiguos de x dias (en este script definido en 30 dias).… ||| Seguir leyendo... >>>

Recuperar el password de root de MySQL

Posted on desembre 15th, 2009 by admin

Cuantas veces has accedido a un servidor que configuraste hace tiempo y como eres un paranoico con los passwords, pusiste un password al usuario root del MySQL que no recuerdas cual es?
No te rompas mas la cabeza tratando de meter los passwords mas comunes o tratando de hacer ingeneria social sobre tu mismo. Arranca la base de datos en modo seguro y define un nuevo password.

Primero de todo paras el servicio MySQL

# /etc/init.d/mysql stop

Y luego lo arrancas sin que pille los permisos de las tablas

# /usr/bin/mysqld_safe –skip-grant-tables &

Ejecutas el cliente de mysql tal cual

# mysql

y ya tienes una terminal de root del mysql

mysql>

le indicamos de usar la base de datos mysql:

mysql> use mysql;

y para cambiar el password:

mysql> update user set password = password(’nuevo_password’) where user=’root’ and host=’localhost’;

a continuación:

mysql> flush privileges;
mysql> exit;

Ahora pararemos el mysql (que hemos arrancado en un modo raro) y lo volvemos a arrancar para que funcione como es debido:

# /etc/init.d/mysql stop
# /etc/init.d/mysql start

Luego ya puedes acceder a tu preciosa base de datos MySQL con el nuevo password:

# mysql -uroot -pnuevo_password

et voilá!

mysql>

||| Seguir leyendo... >>>

Actualizar password de mediawiki por comando (mysql)

Posted on novembre 25th, 2009 by admin

Toolchain…

$ mysql -uusuario -p
password:

mysql>
mysql> use wikifarm;
mysql > update wiki_user set user_password = md5(concat(user_id,’-‘,md5(‘new_password’))) where user_name=’Admin’;
mysql > quit;

si no funciona comprobar las comillas.… ||| Seguir leyendo... >>>

guy fawkes