martes, 26 de noviembre de 2013

Ejecución de consulta Repetidas veces. #MySQL

Si queremos ejecutar una consulta repetidas veces y nos pinte el resultado en consola lo podemos realizar asi:

watch 'echo "select count(*) from nombre_tabla;" | mysql -A nombre_basedatos'

Nos evitamos estar ejecutando a pie la consulta, solo es comodidad, igual manera abra que tener cuidado de no realizar una consulta que consuma muchos recursos, para no afectar los demas servicios.

Todo es cuestión de ingenio es que seguramente ustedes podran encontrarle otros usos.


jueves, 21 de noviembre de 2013

Sincronizar carpetas. #Linux

#Sincronizar carpetas.

Si requerimos sincronizar carpetas entre dos servidores, o en el mismo servidor, les ultra recomiendo el comando, rsync, es un comando linuxs, y trabaja con ssh, les dejo un ejemplo, pero si se animan a usarlo pueden buscar mas sobre sus parametros:


rsync -avl --stats --progress  --exclude '/carpeta/*' --exclude '/carpeta2/subcarpeta/*' --exclude 'carpeta3/*' usuario@dominioservidor:/home/user/public_html/carpeta_origen/ /home/user/public_html/carpeta_destino/


De lo que me a salvado...


Saludos.

miércoles, 20 de noviembre de 2013

Extraer información de base de datos, mandar a archivo.


#Extraer información de la base de datos y mandarla a un archivo:

echo "show create table nombre_tabla" | mysql -A nomre_basedatos > nomre_basedatos.sql

De igual forma podemos concatenar varios scripts en un mismo archivo, algo asi:

echo "show create table nombre_tabla" | mysql -A nomre_basedatos > nomre_basedatos.sql
echo "show create table nombre_tabla2" | mysql -A nomre_basedatos >> nomre_basedatos.sql

Como podemos observar en este ultimo, solo agregamos otro signo ">"  a ">>" lo que le refiere a que concatenara la salida de lo ejecutado.

#Comparación de carpetas Linux

#Comparación de carpetas Linux

Si requirieramos comparar dos carpetas y obtener cuales son las diferencias de archivos entre estas, podemos hacerlo con el siguiente script:

diff -q carpeta_uno/ carpeta_dos/ | grep -Pi "^only"

Esto nos regresa en consola, las diferencias,

Un saludo a todos.

viernes, 8 de noviembre de 2013

Respaldar #estructura de base de datos MySQL

Si lo que requieres, es respaldar unicamente la estructura de tus objetos de base de datos, les dejo el siguiente script, 


miércoles, 23 de octubre de 2013

Tips al diseñar tablas

Al momento de #diseñar las tablas es importante tomar en cuenta los siguientes tips.

  • Nombres de tablas y campos en menos de 64 caracteres, a su vez recordemos que al crear un indice, se tiene que dar un nombre al indice, que tambien NO puede ser de mas de 64 caracteres.
  • Utilizar el guión bajo (_) para separar palabras. Aunque deben tomar en cuenta que en consultas, muy probablemente se tenga que escapar este simbolo, es decir,
no es lo mismo
show tables like 'res_%' 
que
show tables like 'res\_%';
  • Utilizar palabras en minúsculas, sobre todo si trabajas en linuxs.
  • Los nombres de las tablas deberían ir en plural y los nombres de los campos en singular
  • Utilizar el prefijo "id" en las columnas de clave primaria y foránea.
Si tenemos la tabla empresa y el campo id, como su identificador, y vamos a la tabla venta, el campo que haga referencia ala empresa debiera quedar como empresa_id
  • En una tabla, colocar primero la clave primaria seguida de las claves foráneas, despues sus atributos.
  • Los nombres de los campos deben ser descriptivos de su contenido.

Todo esto para tener una estructura mas entendible y ahorrar dolores de cabesa. Y si esto lo hicieramos en un comienzo del diseño super excelente, ya que luego llega lo correctivo y es mas engorroso.

Saludos.

miércoles, 16 de octubre de 2013

Respaldar procedimientos MySQL.

#Respaldar procedimientos MySQL.

Si lo que ocupan es unicamente respaldar los procedimientos almancenados de alguna base de datos, les dejo el siguiente query:


mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt nombre_basededatos > dump_procedures.sql


Deberan tener cuidado con el usuario que generan dicho respaldo, dado que si no tiene los suficientes derechos el usuario, solo respaldara los que le sean permitidos.

Seguimos en contacto.