|
731
|
Programación / Bases de Datos / Re: url de mi base de datos MySQL
|
en: 1 Noviembre 2009, 17:21 pm
|
Si tienes acceso Shell remoto a tu Centos (EL cual posee la base de datos) podrias utilizar como host hacia tu MySQL la IP o nombre de dominio que utilizas para conectarte remoto via shell a ese Centos????
|
|
|
732
|
Programación / Scripting / Re: Ayudita Scrip con Perl
|
en: 1 Noviembre 2009, 00:35 am
|
Que raro encanto... te juro que ahora lo he probado y me funciona. Claro es localhost pero sigue siendo irrelevante en este punto Mira: #!/usr/bin/perl use strict; print "Content-type: text/html\n\n"; print "Iniciando backup!\n\n"; print "Espere por favor...\n\n"; # CUENTA (Ej. cuenta: elserver.com) my $cuenta = "mipagina.com.ar"; # USUARIO DE MYSQL my $usuario = "marian"; # PASSWORD DE MYSQL my $pass = "xxxxx"; # IP INTERNA DE MYSQL my $ip = "localhost"; # BASE DE MYSQL my $base = "primaria"; my $fecha = "$day-$month-$year-$time"; system("mysqldump $base -u $usuario --password='$pass' -h $ip > $cuenta-$fecha.sql"); print "Backup Finalizado!!!\n\n";
Y guarda el archivito asi: mipagina.com.ar-31-Oct-2009-19:29:47.sql Podrias intentarlo una vez mas corazon, haber si funciona
|
|
|
734
|
Programación / Scripting / Re: Shell Script y MySql
|
en: 30 Octubre 2009, 19:52 pm
|
algo asi ya intenté pero a mi solo me salia en el scrip el panes de control de mysql, no introducia las lineas de codigo, sólo cuando salía de mysql y claro me daba error por que la sintaxis no era correcta ^^ creo k para eso necesito algo de unos módulos DBI no?
No. Revisa bien la sintaxis que aplicaste para dicho Shell Script para verificar porque te fallo, ya que el modulo DBI es aplicable exclusivamente para Perl conectarse a distintas base de datos relacionales y hasta el momento estas comentando que quieres conectarte a traves de Bash no de Perl, para tu caso basta con procesar comandos de MySQL y realizar consultas como el ejemplo que te di... para tu caso (Bash+Mysql) no requieres ningun modulo o Api de MySQL. He probado el script, y me ha alegrado ver que funciona, lo malo es que me pide contraseña continuamente, lo he tenido que modificar un poco y claro yo necesito que funcione en background Precisamente los parametros $1 $2 hacen referencia en este caso a lo que insertes en linea de comando 'usuario' y 'contrasena' si quieres puedes ponerlo automatico, declarando una variable: MYSQL="mysql -u usuario -pcontrasena' Y ya esto te funcionara sin necesidad de ingresar usuario y contrasena. $MYSQL << END use primaria; show tables; END
|
|
|
735
|
Foros Generales / Sugerencias y dudas sobre el Foro / Re: Pedido de nuevo Sub-foro
|
en: 30 Octubre 2009, 13:34 pm
|
A lo mejor me equivoque, pero no me pareciera que un subforo de base de datos permaneceria tan vacio, cuando aveces se ingresa a PHP, Visual Basic, Java Scripting y muchas preguntas son relacionadas a SQL
Ahora que los usuarios se den cuenta que hay un subforo de base de datos antes de preguntar en el de programacion... ya es otro asunto.
|
|
|
736
|
Programación / Bases de Datos / Re: Ayuda con indices en base de datos
|
en: 29 Octubre 2009, 04:26 am
|
Valgame que pena que no se Visual Basic Porque tu problemita lo analize, y lo resolvi pero en PERL for ( my $mes = 1; $mes <= 12; $mes++ ) { for ( my $dia = 1; $dia <= 31; $dia++ ) { if ( $mes <= 9 && $dia <= 9 ) { print STDOUT "0000-" . '0' . $mes . "-" . '0' . $dia . "\n"; next; } print STDOUT "0000-" . $mes . "-" . $dia . "\n"; } };
Lo cual al ejecutar me imprime: 0000-09-01 0000-09-02 0000-09-03 0000-09-04 0000-09-05 0000-09-06 0000-09-07 0000-09-08 0000-09-09
Obviamente la condicion se cumple en mes y dia con un cero de primera, siempre y cuando tanto mes como dia sean igual o menor que 9 puedes hacerlo esto solo es una idea de que podrias hacer para tu problemita. Los puntitos que vez en los PRINT son 'concatenar' si te sirve puedes analizarlo, echarle mas logica y hacer eso bucles for con condiciones si se cumple tal cosa concatename cero en dia y mes, sino se cumple quitamele el cero.
|
|
|
737
|
Programación / Scripting / Re: Shell Script y MySql
|
en: 28 Octubre 2009, 17:49 pm
|
Si manejas un poco la creacion de Scripts en bash, y conoces un poco el funcionamiento del lenguaje SQL (precisamente MySQL) no es tan complicado. Por ejemplo, te hice un ejemplillo personal; #!/bin/bash -x MYSQL="mysql -u $1 -p$2" menu="\n********Menu*********\n1 - Ver Tablas\n2 - Ver datos Tablas\n3 - Insertar datos\n4 - Salir\n" if [ -z $1 ] || [ -z $2 ]; then echo Para ejecutarme coloca ./programa.sh usuario contrasena exit 0; fi while [ "$opcion" != "4" ]; do echo -e $menu read opcion case $opcion in 1) $MYSQL << END use primaria; show tables; END sleep 02 ;; 2) printf "Inserta nombre de la tabla :: " read tablas $MYSQL << END use primaria; select * from $tablas; END sleep 02 ;; 3) printf "Inserta nombre de la tabla :: " read tablas echo Inserta valores a incluir en la tabla :: read valores $MYSQL << END use primaria; insert into $tablas values($valores); END sleep 02 ;; 4) exit $? ;; esac done exit 0;
|
|
|
738
|
Foros Generales / Foro Libre / Re: Linux es cada vez más malo
|
en: 28 Octubre 2009, 15:43 pm
|
Que importa si linux va perdiendo rendimiento al agregarle cada vez mas cosas, pronto se terminara Hurd y chau linux xD Conozco un desarrollador activo del proyecto Hurd. Y le pregunte hace un tiempecito porque tantas quejas de parte de Stallman vs Linus y no terminan el dichoso Hurd y terminan de migrar y ya esta. A lo que el me dijo, que es demasiado improbable (Aunque se finalizara Hurd) que el kernel de Linus sea sustituido por Hurd. Las razones? simples, el kernel de Linus tiene demasiado tiempo (mas de 10 años) en evolucion, se ha trabajado he implementado decenas (sino miles) de modulos, funcionalidades, parches, etc, etc. Que lamentablemente para Hurd alcanzar este nivel de desarrollo.... es imposible. De hecho el mismo me admitio que si Hurd terminase manana, y se lo implementasen forzado al sistema operativo tipo Unix (actualmente Linux) seria dar un salto a 15 años atras, ya que no habria casi soporte para nada de drivers... por lo cual el SO pasaria a ser mas obsoleto que Slackware 1.0 Asi que olvidalo amigo, le guste o no, el proyecto del kernel de Linux tiene demasiado trabajo hecho encima (esto sin contar el continuo trabajo que aun se le realiza encima) Hurd no va a poder a estas alturas sustituirlo, a no ser que quieran saltar a un SO obsoleto ante la tecnologia actual, y si esto fuese asi bye bye proyecto GNU y bienvenido a un sistema operativo mas actualizado (Los sabores BSD).
|
|
|
739
|
Programación / Bases de Datos / Re: Ayuda con indices en base de datos
|
en: 28 Octubre 2009, 05:40 am
|
Disculpa que no te ayude mucho a estas horas.... es tarde, tengo un suenio enorme y debo levantarme a las 5:30 am para el trabajo y ahora son las 12:34 am Supongamos que hago un INDICE así. CREATE INDEX indice ON Prueba(Fecha) Luego al hacer un SELECT, no tengo que poner el nombre del indice no?? tengo que seguir usando el "Prueba" como "nombre de columna"... o me equivoco? No, no tienes que colocar el nombre del indice, dicho nombre es solo para guardarlo en el diccionario de la DB donde se reflejan todos los indices, de todas las tablas y bajo que usuario (En caso que quieras hacer una busquedad bajo nombre del indice para averiguar a que tabla, usuario, instancia pertenece lo cual no es tu caso). me recomiendas hacer un INDICE en el nuevo campo FECHA, y realizar una busqueda concatenando el dia con el mes... No debes concatenar ahora, recuerda que la fecha viene ahora en 1 solo formato y pegado te convendria mas usar SUBSTR por ejemplo.
|
|
|
740
|
Programación / Bases de Datos / Re: Ayuda con indices en base de datos
|
en: 28 Octubre 2009, 01:28 am
|
Si SQLite tiene sus cositas personalizadas .... hay que pasarle formato por lo visto a los campos DATE en SQLite. Pero si se te complica mucho el asunto chico, crea el campo tipo DATE he inserta la fecha, como te decia si por cada registro de fecha que ingreses se te guardan asi: 1999-11-23 10:03:00 Utiliza para obtener los datos en una busquedad la funcion SUBSTR (Que asumo debe existir en SQLite) te mostrare un ejemplo en MySQL : mysql> SELECT * FROM ejemplo; +---------------------+ | fecha | +---------------------+ | 2009-11-22 00:00:00 | | 2006-10-30 00:00:00 | | 2001-08-23 00:00:00 | | 1998-10-29 00:00:00 | +---------------------+ 4 ROWS IN SET (0.00 sec) mysql> SELECT substr(fecha, 1, 10) FROM ejemplo WHERE fecha LIKE '2001-08-23%'; +----------------------+ | substr(fecha, 1, 10) | +----------------------+ | 2001-08-23 | +----------------------+ 1 ROW IN SET (0.00 sec) mysql> SELECT substr(fecha, 1, 10) FROM ejemplo WHERE fecha LIKE '1998-%-29%'; +----------------------+ | substr(fecha, 1, 10) | +----------------------+ | 1998-10-29 | +----------------------+ 1 ROW IN SET, 1 warning (0.00 sec)
No hay tunning ni optimizacion alguna en la consulta, es mas para que te sirva de referencia de como podrias buscar los datos en la tabla sin necesidad de que te devuelve el rango de fecha con la hora incluida. la funcion SUBSTR funciona SUBSTR(campo, desde, hasta) Siendo desde la ubicacion del registro donde se comenzara a contar y hasta, hasta donde se contara en el caso de una fecha: 1999-11-23 10:02:00 Desde el digito 1 hasta el 10 es '1999-11-23' Besos
|
|
|
|
|
|
|