INSTALACIÓN DE MYSQL 5.0 EN UBUNTU

 * Instalaremos los paquetes 'mysql-server' y 'mysql-client'.

   (Opcionalmente podemos instalar los paquetes 'mysql-admin', que es un
    entorno gráfico de administración, y 'mysql-query-browser', que es un
    entorno gráfico para realizar consultas.)

 * La instalación crea en el sistema el usuario 'mysql' y el grupo 'mysql'.

 * La instalación crea en el servidor de bases de datos el usuario 'root' sin
   contraseña, que tiene control total sobre todas las bases de datos del 
   servidor. Para ponerle contraseña debemos escribir el la línea de comandos:

     mysqladmin -u root password nueva_contraseña

   (En algunas instalaciones también existe un usuario anónimo '' sin 
    contraseña, propietario de la base de datos de prueba 'test'.)

   (En versiones posteriores de Ubuntu, la contraseña del usuario 'root' se 
    solicita en el momento de la instalación.)

   Los usuarios de la base de datos no tienen nada que ver con los usuarios del
   sistema operativo.

 * Por defecto hay una base de datos 'mysql' con información de MySQL y usuarios,
   y otra base de datos 'information_schema' con información de bases de datos.

 * Ficheros y directorios importantes (pueden variar en otras instalaciones):

   - /var/lib/mysql/

     Guarda las bases de datos del servidor.

     A cada base de datos corresponderá un directorio con el mismo nombre.

     A cada tabla MyISAM corresponderán varios ficheros con el mismo nombre que
     la tabla y diferente extensión (*.frm = formato, *.myd = datos tablas, 
     *.myi = índices) dentro de un directorio con el mismo nombre que su base de
     datos.

     A cada tabla InnoDB corresponderán un fichero con el mismo nombre que la
     tabla y extensión .frm (formato) dentro de un directorio con el mismo
     nombre que su base de datos, y varios ficheros con nombre 'ibdata1',
     'ibdata2', ... ("tablespace") que compartirá con otras bases de datos en el
     directorio principal de datos.

     El propietario de los ficheros es el usuario 'mysql' y el grupo 'mysql'.

   - /var/log/mysql/

     Anotaciones y alertas del servidor.

   - /etc/mysql/

     Ficheros de configuración general (my.cnf).
     Cada vez que cambiemos la configuración deberemos reiniciar el servidor
     para que se activen los nuevos cambios.

   - /etc/init.d/mysql

     Script para arrancar, parar y reiniciar el servidor

   - /usr/bin/ , /usr/sbin/ , /usr/share/mysql/

     Programas de MySQL

 * Se puede iniciar la ejecución de varias maneras:

     sudo /etc/init.d/mysql start
     sudo /usr/sbin/mysql start
     sudo /usr/bin/mysqld-multi
     sudo /usr/bin/mysqld-safe

 * Se puede parar la ejecución de varias maneras:

     sudo /etc/init.d/mysql stop
     sudo /usr/sbin/mysql stop
     mysqladmin -u root -p shutdown

 * El puerto por defecto del servidor MySQL es el TCP/UDP 3306.

 * Si quiero acceder remotamente al servidor debo modificar /etc/mysql/my.cnf
   comentar la línea "bind-address" o comentar la línea "skip-networking"

 * Si quiero los mensajes en otro idioma debo modificar /etc/mysql/my.cnf
   y cambiar la línea "[mysqld] language = ". Por ejemplo "laguage = spanish".

 * Lecturas para profundizar:
   - http://dev.mysql.com/doc/refman/5.0/es/server-side-scripts.html
   - http://dev.mysql.com/doc/refman/5.0/es/instance-manager.html
   - http://dev.mysql.com/doc/refman/5.0/es/configuring-mysql.html
   - http://dev.mysql.com/doc/refman/5.0/es/server-shutdown.html
   - http://dev.mysql.com/doc/refman/5.0/es/security.html
   - http://dev.mysql.com/doc/refman/5.0/es/mysql.html
   - http://dev.mysql.com/doc/refman/5.0/es/mysqladmin.html

 

INSTALACIÓN DE LA BASE DE DATOS DE EJEMPLO

 

Para las diferentes pruebas que haremos necesitaremos una base de datos.
Podemos descargar una sencilla base de datos con tres tablas en:

  http://downloads.mysql.com/docs/world.sql.gz

Opcionalmente, también se puede descargar otra base de datos más compleja, con
más tablas, vistas, procedimientos almacenados, triggers, etc. en:

  http://downloads.mysql.com/docs/sakila-db.tar.gz

Para trabajar con la base de datos 'world' haremos lo siguiente:

1) Descomprimirla en nuestra carpeta personal. Obtendremos un fichero 
   'world.sql' con sentencias SQL que al ejecutarlo en el servidor creará las
   tablas de la base de datos.

2) Iniciar el cliente de MySQL:

     mysql [-h dirección_servidor] -p -u usuario base_datos [< fichero_sql]

   En nuestro caso:

     mysql -p -u root

3) Creamos la base de datos y la seleccionamos:

     CREATE DATABASE world;
     USE world;

4) Ejecutamos el fichero 'world.sql':

     SOURCE world.sql;

Fuera del cliente MySQL, desde la cónsola, podemos comprobar que se ha creado
un directorio para la base de datos y los ficheros para las tablas:

  sudo ls -l /var/lib/mysql
  sudo ls -l /var/lib/mysql/world