martes, enero 27, 2009

MySQL y Urchin


Sí, este post es un rollo, pero documentar es necesario si no queremos estar reinventando la rueda continuamente.

Resulta que en mi trabajo se ha contratado una consultoría SEO y entre otras cosas han recomendado Urchin (Google) como analizador de accesos a la web.

Urchin requiere una base de datos por detrás que puede ser MySQL o PostgreSQL. He elegido MySQL.

Ahí va como se instala MySQL:

1.-He elegido la instalación sin setup. Por lo tanto descargamos el mysql-noinstall-5.1.30-win32.zip y lo colocamos en el servidor.

2.-Descomprimimos el contenido. Colocamos todo en d:\mysql (por ejemplo).
El fichero de ayuda está en d:\mysql\Docs\manual.chm

3.-Abrimos una sesión de terminal y vemos cual es el directorio de Windows.
c:\> echo %WINDIR%
En Windows2000 es c:\winnt

4.-Hay que generar el “Option File”.
Se puede usar el fichero my.ini en el directorio de Windows. Es lo primero que busca MySQL. Si no lo encuentra busca el fichero c:\my.cnf.
MySql viene con varios ficheros de ejemplo: my-small.cnf, my-medium.cnf, my-large.cnf y my-huge.cnf. Están en d:\mysql
Elige uno dependiendo del tamaño que va a tener la base de datos. Yo he elegido el my-large.

5.-Cogemos my-large.ini y lo colocamos y renombramos como c:\winnt\my.ini

6.-Creo una carpeta d:\mysql-datos donde se guardaran los datos de la base de datos. Hay que mover la carpeta d:\mysql\data a d:\mysql-datos. Tiene que quedar como d:\mysql-datos\data.

7.-Editamos el fichero my.ini y añadimos la siguiente información en la sección mysqld

[mysqld]
# set basedir to your installation path
basedir=D:/mysql
# set datadir to the location of your data directory
datadir=D:/mysql-datos/data

Importante: Aunque sea un servidor Windows, para indicar el path se utiliza la barra “normal” hacia la derecha (la del número 7 o la de dividir). Si se quiere utilizar la contrabarra hay que ponerla dos veces porque la primer es el carácter de escape.

[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data

8.-Vamos a hacer el primer arranque:
d:
cd mysql\bin
mysqld --console

9.-Si todo va bien, nos tiene que decir que...
ibdata1 no existe. Lo crea con 10 Mb.
ib_logfile0 no existe. Lo crea con 5 Mb.
ib_logfile1 no existe. Lo crea con 5 Mb.
No existe el buffer Doublewrite. Lo crea.
Crea las “Foreign key constraint system tables”.
InnoDB: Started.
Event Scheduler: Loaded 0 events.
Mysql: Ready for connections. Port: 3306.

10.-Para hacer alguna prueba abrimos otra sesión y vamos a d:\mysql\bin:
mysqlshow
Así vemos las bases de datos que hay.

11.-Para ver las tablas de la base de datos "information_schema":
mysqlshow information_schema
mysql “select * from tables” information_schema

12.-Parada de la base de datos.
Abrimos otra sesión.
d:
cd d:\mysql\bin
mysqladmin –u root shutdown

13.-Es importante realizar las labores de postinstalación ya que la base de datos tiene cuentas sin passwords.

Poner password al usuario root:
mysqladmin -u root -h localhost password XXXXXX

14.-Creamos la base de datos para URCHIN:

mysql –u root -p (nos va a pedir la password).
mysql> create database urchin character set utf8;
mysql> GRANT ALL ON urchin.* to ‘urchin’@’localhost’ IDENTIFIED BY ‘xxxxx’ WITH GRANT OPTION;

Si nos fijamos un poco, veremos que el acceso de urchin tiene que ser desde localhost en la instrucción de arriba.

Si Urchin va a instalarse en una máquina diferente en lugar de localhost pondremos el servidor que sea o la IP. También podemos usar el caracter '%' para permitir el acceso desde cualquier lugar.

GRANT ALL ON urchin.* to ‘urchin’@’%’ IDENTIFIED BY ‘xxxxx’ WITH GRANT OPTION;

2 comentarios:

Anónimo dijo...

Hola A!!, como tas!
A ver una pregunta, ya que yo uso urchin en algunos blogs, porque me obligan, que sino uso awstat.....

pego en el codigo html del blog, unas lineas de javascript con el urchin.js, directamente lo uso.
Por qué es que lo instalas y necesita la db?, es por que vos queres llevar la estadística y no google?

lo que yo hago (y no me gusta, solo porque me obligan) es que google lleva las estadisticas de mi sitio....en este caso, la estadistica la llevas vos??

bueno, saludos, y animo con TANENBAUMMMMMM, que es un genio!
ya me lo he leido cuando estudie y me encantó
besito, alexa

Aitor Iriarte dijo...

Hola Alexa,

¡Perdón! por el retraso...es que soy un poco desastre y se me ha pasado este comentario.

Por una parte los datos los queremos tener nosotros. También ocurre otra cosa, la red tiene unos 4.000 pc-s y la gran mayoría no tiene acceso a Internet. Queremos que sirva también para registrar los accesos internos.

Bueno, nos vemos.
Saludos.