Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Sadam.sh en 31 Octubre 2010, 18:42 pm



Título: Sript bash que sus usuarios busquen mas fácilmente en una base de datos MySQL
Publicado por: Sadam.sh en 31 Octubre 2010, 18:42 pm
Sript para que sus usuarios busquen mas fácilmente en una base de datos MySQL desde consola (SSH)

Código
  1. #!/bin/bash
  2.  
  3. if [ $# -ne 2 ] ; then
  4.    echo -e "Uso: $0 BASE-DATOS CADENA"
  5.    exit 0
  6. fi
  7.  
  8. BD="$1"
  9. CADENA="$2"
  10.  
  11. MYSQLPASS=`cat /etc/mysql_root_pass`
  12.  
  13. LISTATABLAS=`mysql -p$MYSQLPASS $BD -e "show tables;" | grep -iv "tables_in_$BD"`
  14.  
  15. for TABLE in $LISTATABLAS ; do
  16.    LISTACOLUMNAS=`mysql -p$MYSQLPASS $BD -e "show columns from $TABLE;" | awk '{print $1}' | grep -v "Field"`
  17.    echo "Buscando \"$CADENA\" en la tabla \"$TABLE\":"
  18.    for COLUMNA in $LISTACOLUMNAS ; do
  19. mysql -p$MYSQLPASS $BD -e "select * from \`$TABLE\` where \`$COLUMNA\` like '%$CADENA%';"
  20.    done
  21. done