Feeds:
Entradas
Comentarios

Archive for the ‘MySQL’ Category

Me entero vía Piwik: Alternativa libre a Google Analytics de que existe Piwik:

Piwik # Open source web analytics

Un Analizador de eestadísticas web de código abierto y se autoproclama alternativa al Google Analytics.

Lo voy a probar … 🙂

Procedimiento:

* Requisitos: Un servidor web donde tengas espacio y acceso vía ftp, con

  • PHP version 5.1.3 o mayor
  • MySQL version 4.1 o mayor
  • (Habilitado por defecto) PHP extension pdo y pdo_mysql

En mi caso, y os lo recomiendo, tengo un free web hosting en 000webhost.com ( http://www.000webhost.com/), tiene PhP, MySQL, email, subdominios, 1500MB de espacio,… y es bueno (no falla) y rápido. Es totalmente gratis (free) y no hay que soportar banners ni publicidad obligatoria.

* Descarga:

– la última versión: http://piwik.org/latest.zip

* Preparación en local:

– descomprimo el fichero zip en local (en tu pc) y subo por ftp a mi servidor de hosting (con PhP y MySQL) la carpeta piwik y todo su contenido. Uso para establecer el ftp y los permisos posteriores el programa FileZilla, que te da una GUI de las opreaciones comunes en un servidor ftp.

* Operaciones en el servidor web.:

Doy permisos al directorio tmp mediante FileZilla (seleccionas la carpeta remota /public_html/piwik/tmp , boton derecho y le das permisos completos, 777)

Permisos al directorio tmp completos, 777

Estado:    Ajustar permisos de ‘/public_html/piwik/tmp’ a ‘777’
Comando:    CWD /public_html/piwik
Respuesta:    250 OK. Current directory is /public_html/piwik
Comando:    SITE CHMOD 777 tmp
Respuesta:    200 Permissions changed on tmp


En mi caso creo un subdominio: http://piwik.javcasta.comlu.com/ que apunta a mi carpeta /public_html/piwik/ y (no es necesario lo del subdominio, es solo por comodidad de url) me conecto vía browser:

* Instalación vía browser (navegador):

Te conectas a tu url donde hayas hospedado piwik http://loquesea.com/piwik/index.php , en mi caso es http://piwik.javcasta.comlu.com/ y comienzas a seguir los pasos que te indiquen

La bienvenida, y le damos a siguiente

Fase de comprobación del sistema

Tengo que dar permisos de escritura al directorio /piwik/config/, pero en mi caso sigue el error hasta que no le doy permisos tottales (777).

Doy permisos a /piwik/config/ totales mediante FileZilla

Refresco la página (hay un botón para ello, o lo haces mediante tu navegador)

Ahora OK. Solo me da un warning en set_time_limit … pero no es crítico, seguimos

Parametrizamos la base de datos. La base de datos hay que crearla antes, ya sea mediante phpMyAdmin o por los medios que te proporcione tu hosting. Y debes de saber la url del servidor de la base de datos (en muchos casos es simplemente localhost, en mi caso no), el nombre de la base de datos y un usuario con permisos y su password de esa base de datos.

Parámetros de la base de datos de MySQL

Me da un aviso o warning y como solucionarlo a posteriori. Seguimos

La confirmación de que se han creado las tablas

Definimos el superusuario de pwiki - ¡Importante poner un email, en caso de perder clave!

Y por último nos da la opción de definir una web sujeta a estadísticas, pongo la propia página piwik mía:

http://piwik.javcasta.comlu.com

Script en JavaScript a incluir en la página que he definido para ser sometida a seguimiento estadístico

Fin de la instalación, te dan la enhorabuena 🙂

Formulario de validación de acceso a piwik

Podéis ver ejemplos de estadísticas en : Online demo, que fue la demo que me convenció de que es una muy buena aplicación para el seguimiento de estadísticas y visitas.

¡Felices Reyes Magos!,  que os traigan combustible fósil biodegradable … 🙂

Anuncios

Read Full Post »

Vía: Oracle y Bruselas caminan hacia el acuerdo · ELPAÍS.com.

Oracle y Bruselas caminan hacia el acuerdo

La empresa ofrece una serie de compromisos sobre la compra de Sun que satisfacen a las autoridades europeas

El Ejecutivo comunitario había detectado que la operación podría provocar problemas de competencia en el mercado de bases de datos ya que Oracle es número uno mundial en bases de datos protegidas, mientras que MySQL, comercializado por Sun, ocupa el primer lugar en el mercado de las bases de código abierto. Para aplacar estas preocupaciones, Oracle ha hecho pública una lista de 10 compromisos, entre ellos el de aumentar la inversión en MySQL, poner en marcha un consejo asesor que represente a consumidores o mantener la arquitectura del sistema.

“La Comisión Europea puede confirmar que ha iniciado discusiones constructivas con Oracle sobre el mantenimiento de MySQL como un importante factor de competencia en el mercado de bases de datos tras la adquisición de Sun Microsystems”, señaló el Ejecutivo comunitario en un comunicado.

“Los compromisos anunciados por Oracle hacia sus clientes, programadores y usuarios de MySQL constituyen un importante nuevo elemento a tener en cuenta en el procedimiento en marcha”, subrayó el Ejecutivo comunitario

leer todo el artículo.

http://samdesar.files.wordpress.com/2009/02/monopoliogoogle.jpg


Mi comentario: Si llegan a comprar Sun, que lo harán, ojala respeten los compromisos con MySQL, con Java, con openSolaris, … Da miedo ver que la “sana” competencia desaparece … Es como si Microsoft en unos meses anuncie la compra de Oracle  y luego tras otros meses, Google anuncie la compra de Microsoft, y luego todos bajo la marca de la bestia. … :-)(es bromaaaaa)

Aunque bien mirado, seria una bendición un estándar único en informática y el esperanto como única lengua oficial mundial … Nos ahorraríamos tiempo en aprendizajes, pero claro, la diversidad desaparecería y el pensamiento único siempre es el enemigo…

Read Full Post »

Linux, Scripting, SQL, MySQL: csv2mysql.sh – script bash shell de creación de script sql para: Creación de bbdd y de tabla e importar fichero csv a tabla.


#!/bin/bash
# ------------------------------------------------------------
# csv2mysql.sh - Script para prueba de concepto de:
# ------------------------------------------------------------
# . Creación de script sql y ejecución mediante script sh
# . Creación de bbdd, de tabla e importar ficjero csv a tabla
# ------------------------------------------------------------
# by JavCasta - 2.009 - http://javcasta.bounceme.net
# https://javcasta.wordpress.com
# ------------------------------------------------------------
#creo el script sql
cat > ./temp.sql << EOF
#creación de db_municipios sino existe
CREATE DATABASE IF NOT EXISTS db_municipios;
#usamos la bbdd db_municipios
USE db_municipios;
#
# Tabla t_municipios
#
DROP TABLE IF EXISTS t_municipios;
CREATE TABLE t_municipios (
#Id_t_municipios INTEGER NOT NULL AUTO_INCREMENT,
nombre VARCHAR(150),
comunidad VARCHAR(150),
provincia VARCHAR(150),
codp INTEGER(11),
direccion VARCHAR(150),
tlf VARCHAR(15),
fax VARCHAR(15),
email VARCHAR(150),
web VARCHAR(250),
habitantes DECIMAL(9,0)
#PRIMARY KEY (Id_t_municipios)
);
#ENGINE=InnoDB DEFAULT CHARSET=utf8;
#copio el csv al dir de trabajo de mysql
system sudo cp /home/javcasta/scripts/email/bbdd_municipios_csv.csv /var/lib/mysql/db_municipios/bbdd_municipios_csv.csv
#permisos ...
# importamos el fichero csv a la tabla
#INSERT INTO tabla (c1, c2) VALUES (v1, 'v2');
LOAD DATA INFILE '/var/lib/mysql/db_municipios/bbdd_municipios_csv.csv' INTO TABLE t_municipios
FIELDS TERMINATED BY '*' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
ALTER TABLE t_municipios ADD COLUMN id INTEGER  NOT NULL AUTO_INCREMENT AFTER habitantes,
 ADD PRIMARY KEY (id);
EOF
#fin de script sql
#ejecuto el script sql
echo Introduce pass de mysql
mysql -u root -p < temp.sql

Una curiosidad, si sumo los habitantes de todos los municipios:

mysql> select sum(habitantes) from t_municipios;
+-----------------+
| sum(habitantes) |
+-----------------+
|        81879346 |
+-----------------+
1 row in set (0,01 sec)

Da más de 50.000.000 ¿? jejeje, el truco es que las diputaciones y cabildos incluyen ya poblaciones de municipios y claro se resuman …:-)

Read Full Post »

Estaba buscando una Base de datos de códigos postales de España. Tras buscar por varias páginas, me di cuenta que muchos vendían esta base de datos, que creo debe de ser de dominio público y gratuita. Así que posteo la que encontré de forma gratuita y abierta en sus datos ( free and open). La tiene en 3 formatos: Txt (csv), XML, MySQL

Vía: http://codigos-postales.albin.es/

Dice simpáticamente el autor que no hace falta que le des las gracias. Pero creo que hay que dárselas. 🙂


Otras fuentes interesantes:

Read Full Post »

Vía: Permitir conexiones remotas a MySQL de manera gráfica.

MySQL Administrator


Mi comentario: Una buena guia de como dar permisos de conexión remota a una bbdd MySQL.

 

Read Full Post »

Vía: MySQL – Selección (select) parametrizando el nombre de tabla y un campo « El bit campeador.

http://elbitcampeador.files.wordpress.com/2009/01/bit-campeador1.png

DELIMITER $$

DROP PROCEDURE IF EXISTS ejemplo$$
CREATE PROCEDURE ejemplo(IN tabla CHAR(64), IN columna CHAR(64))
READS SQL DATA
COMMENT ‘Hace select de una tabla y campo parametrizado’
BEGIN

SET @s = CONCAT(‘SELECT ‘ , columna , ‘ FROM ‘ , tabla);
PREPARE stmt FROM @s;
EXECUTE stmt;

END $$

DELIMITER ;

Y para ejecutarlo:

call ejemplo(‘mitabla’, ‘micampo’);


Mi comentario: La potencia de MySQL es como para pensar ¿por que una pyme compra un Microsoft SQL Server o un Oracle? … Misterios de los negocios.

 

Read Full Post »

Vía: Howto: Use mysql or run mysql queries from shell script.

Pongo en practica lo visto en esa página:

Como ejecutar consultas de MySQL desde un script de shell

* Edito el script  lanza_select.sh

#!/bin/bash
mysql -u root -p test<<EOFMYSQL
SELECT * from tabla1;
EOFMYSQL

Se trata de una consulta de selección de todos los campos sobre la tabla tabla1 de la bbdd test.

Le doy permisos al script ( $ chmod +x lanza_select.sh ) y lo ejecuto

javcasta@interceptor:~/scripts/mysql$ ./lanza_select.sh
Enter password:
tabla1_id    campo1
1    uno
2    dos
3    tres
4    cuatro

Y voila. 🙂

Nota: para añadir registros a tabla1:

javcasta@interceptor:~$ mysql -u root -p test < /home/javcasta/scripts/mysql/tabla1.sql
Enter password:

donde tabla1.sql es:

DROP TABLE IF EXISTS tabla1;

CREATE TABLE tabla1 (
  tabla1_id INTEGER NOT NULL,
  campo1 VARCHAR(150),
  PRIMARY KEY (tabla1_id)
);
#ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO tabla1 (tabla1_id, campo1) VALUES (1, 'uno');

INSERT INTO tabla1 (tabla1_id, campo1) VALUES (2, 'dos');

INSERT INTO tabla1 (tabla1_id, campo1) VALUES (3, 'tres');

INSERT INTO tabla1 (tabla1_id, campo1) VALUES (4, 'cuatro');

Read Full Post »

Older Posts »