Conexion y respaldo de base de datos en MySQL con Python

You think it’s strange, that there’s a way
of how you looked and how you act and how you think.

All My Best Friends Are Metalheads – Less than Jake

Ya que estamos incursionando en el mundo de python, les traigo unos scripts sencillos pero que sin duda tienen funcionalidades bastante útiles para cuando estamos iniciando en un nuevo lenguaje de programación, como lo es la conexión a una base de datos.

Conectarse a MySQL desde python.

Lo primero que tenemos que hacer es descargar el conector de MySQL y Python, aprovechando que estamos usando python, podemos usar pip (Algún día escribiré lo que es, por lo pronto lo pueden googlear o simplemente pegar esto en una terminal)

pip install mysql-connector-python

También pueden descargar el .deb o .exe, desde algún repositorio o hacerlo como deseen, lo importante es que lo tengan. Les dejo el link para las distintas opciones: https://dev.mysql.com/doc/connector-python/en/connector-python-installation-binary.html

Una vez que tengamos el conector, lo que sigue es tener a la mano la siguiente información: usuario de base de datos, host, contraseña y nombre de base de datos. Lo que estamos haciendo es ir familiarizándonos con el modulo mysql ya que es el que nos permitirá trabajar con mysql desde python. A continuación el script:

#Importamos el modulo para la conexion
import mysql.connector
#Nos conectamos a la BD (Reemplaza la informacion con la tuya)
mydb = mysql.connector.connect(host='tu_host',user='usuario_db',passwd='contraseña_inhackeable',db='base_datos' )
#Instanciamos un objeto de la clase cursor, lo que nos permite ejecutar las sentencias SQL
cur = mydb.cursor()
#La consulta, en este caso obtenermos nombre y apellidos de la tabla users
cur.execute( "SELECT first_name, last_name FROM users" )
#Ciclo para recorrer los registros e imprimirlos en pantalla.
for first_name, last_name in cur.fetchall() :
    print (first_name, last_name)
#Cerrar la conexion
mydb.close()

Hacer backup de nuestra BD.

Aquí lo importante a destacar es el modulo so, ya que en el encontraremos las funcionalidades para comunicarse con el sistema operativo desde el cual se esta ejecutando el script.

#Importamos el modulo para interactuar con el S.O.
import os
#El metodo popen permite ejecutar comandos dede python como si se tratase de una terminal, en nuestro caso el comando es mysqldump (Quien se encarga de hacer el respaldo de la BD)
os.popen("mysqldump -h 'tu_host' -u 'tu_usuario' -p bd_a_respaldar > archivo_donde_se_guarda_el_respaldo.sql")

Finalizando con el post, buenos scripts para comenzar en el mundo de python e irse familiarizando con la amplia cantidad de módulos y métodos que ofrecen. Hasta la próxima.

2 replies on “ Conexion y respaldo de base de datos en MySQL con Python ”
    1. si bueno te crea en blanco por que no tienes una conexion activa. En tu caso deberas instalar mysql en tu ordenador y poner las claves a la cadena de conexión para que puedas hacer el respaldo. Saludos y que gracias pior escribir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *