Posts etiquetados ‘MySQL’

Respaldo de mysql desde línea de comando

Octubre 3, 2008

Problema: Dos por tres tengo que respaldar una base de datos mysql en un servidor remoto, comprimir el archivo y copiarlo a mi computadora. Cada vez que lo voy a hacer, busco en internet el comando de respaldo porque nunca me lo acuerdo. Lo posteo aquí para encontrarlo rápido la siguiente vez que lo necesite. La alternativa es tomar algo para la memoria.

Solución 1:

mysqldump -h localhost -u username -p database_name > backup_db.sql
gzip backup_db.sql
scp backup_db.sql.gz usuario@direccion.del.servidor:/directorio/directorio

Solución 2 (en proceso): hacer un script que realice todo esto de manera automática y ponerlo como comando de ejecución programada en cron. Va en siguiente post.

Python y MySQL desde PHP

Enero 14, 2008

Estaba reconvirtiendo un programita hecho en PHP a Python.
Estaba acostumbrado a hacer:

function datos($tabla,$campo,$clave){
$sql_det = 'SELECT * FROM '.$tabla.' WHERE '.$campo.'="'.$clave.'"';
$res_det = mysql_query($sql_det);
return mysql_fetch_array($res_det);

Sin embargo, al intentar hacer lo mismo en Python

def consulta(sql):
db = MySQLdb.connect(host="localhost",user="xxxl",passwd="xxx",db="xxxx")
cur = db.cursor(MySQLdb.cursors.DictCursor)
cur.execute(sql)
res = cur.fetchall()
return res

Me devuelve un array que requere de un índice entero para referirse a él. Yo estaba acostumbrado a referirme a los campos por su nombre.
Buscando por ahí, encontré la solución que espero sea útil para quien tenga similares problemas:

def consulta(sql):
db = MySQLdb.connect(host="localhost",user="xxxl",passwd="xxx",db="xxx")
cur = db.cursor(MySQLdb.cursors.DictCursor)
cur.execute(sql)
res = cur.fetchall()
return res

El original fue encontrado en “Will code for food“.