lunes, 10 de noviembre de 2008

Instalar y configuar MySQL en Ubuntu o Debian

Instalación y configuración de MySQL

Introducción

MySQL es un SGBD (Sistema Gestor de Bases de Datos) relacionales muy completo y muy utilizado tanto en entornos Linux como en entornos Windows, principalmente para el desarrollo de aplicaciones web. Entre sus principales prestaciones destacamos:
  • Fácil instalación
  • Fácil administración
  • Rápido
  • Completo
  • Multiplataforma
Por éstas razones, casi todas las aplicaciones web desarrolladas en lenguaje php que requieran de base de datos, utilizan mysql.

Si disponemos de un servidor web con soporte php y base de datos mysql, tendremos la arquitectura ideal para crear un portal dinámico utilizando gestores de contenidos como PHPNuke, drupal o Tikiwiki y herramientas orientadas a crear sitio web para entornos educativos como Mambo o Claroline, así como aplicaciones web orientadas al trabajo colaborativo y al desarrollo rápido de contenidos como Wikis y Blogs.


Instalación de mysql

Para la instalación del servidor y el cliente de mysql, debemos instalar los paquetes mysql-server, mysql-common y mysql-client mediante apt-get. Se instalará la versión 5 de mysql:

// Instalación de mysql
# apt-get install mysql-server mysql-common mysql-client

Arranque y parada del SGBD mysql

El servidor de datos mysql, al igual que todos los servicios en Debian, dispone de un script de arranque y parada en la carpeta /etc/init.d.

 

// Iniciar o reiniciar el servidor mysql
# /etc/init.d/mysql restart

// Parar el servidor mysql
# /etc/init.d/mysql stop

Arranque automático del servidor MySQL al iniciar el sistema.

# update-rc.d mysql defaults



Configuración del SGBD mysql

El archivo de configuración de mysql es el archivo:

// Archivo de configuración de mysql
/etc/mysql/my.cnf

En dicho archivo se configuran aspectos generales como la contraseña, el puerto a utilizar y algún otro aspecto pero para hacer un uso normal de mysql, no es necesario realizar ninguna modificación del archivo original.

Administración del SGBD mysql

Mysql es un SGBD completo que permite crear usuarios y establecer permisos sobre bases de datos, tablas y campos deseados a dichos usuarios. Los permisos pueden ser de consulta, inserción, modificación y borrado de datos, creación, modificación y eliminación de tablas y bases de datos y de administración de usuarios y permisos, lo que hace a mysql ser un SGBD muy flexible y muy completo.

Quizás la primera acción que se debería hacer nada más arrancar el SGBD mysql sería poner una contraseña al usuario root ya que inicialmente no tiene contraseña. Para ello debemos iniciar mysql con el comando:

 

// Iniciar el servidor de bases de datos mysql
# /etc/init.d/mysql start


Posteriormente iniciamos el cliente de mysql como root y cuando aparezca el prompt de mysql (mysql>) ejecutamos una orden grant para establecer la contraseña de root:

 

// Ejecutar cliente de mysql y cambiar contraseña de root
# mysql -u root // Accedemos sin contraseña
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 4.0.20-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> grant all privileges on *.* to root@localhost identified by 'secreta' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye


De ésta manera habremos puesto como contraseña de root la palabra 'secreta'. La próxima vez que entremos, debemos añadir la opción -p para que nos pida la contraseña ya que de lo contrario no nos dejará entrar:

 

// Entrando como root con contraseña
# mysql -u root -p


Ahora debemos introducir la contraseña para acceder y tener acceso global al SGBD mysql.

Administración del SGBD mysql vía web

La herramienta de administración de mysql vía web es phpmyadmin. Para más información consultar el apartado Instalacion_y_configuracion_de_PHPMyAdmin

Fuente:
Página del isftic :
Curso Redes de Área Local. Aplicaciones y servicios en Linux. del isftic: http://www.isftic.mepsyd.es/formacion/materiales/85/cd/REDES_LINUX/indice.htm

3 comentarios:

Paco dijo...

Hola. He visto tu blog y necesitaría tu ayuda. Hemos instalado ubuntu desktop y después hemos instalado php, apache y mysql. El problema que tengo es que al arrancar el equipo mysql no arranca, aunque si arranca cuando le doy la orden que pones en tu blog.

Cuando le escribo la orden de update...... para que arranque al iniciar me dice que:
system startup links for /etc/init.d/mysql already exist.

Y aquí estoy, cuando reinicio ubuntu no arranca mysql.

Te agradecería cualquier ayuda.

Juan dijo...

habría que ver el fichero de log para ver porqué no inicia al arrancar, de todos modos te doy dos soluciones:

1.- edita el fichero /etc/rc.local e incluye ahí la orden para arrancarlo /etc/init.d/mysql start (la ejecutará tras realizar el arranque del sistema, es un poco chapuzas pero debería funcionar).

2.- Prueba a instalar xampp:
http://tecnoloxiaxa.blogspot.com/2009/01/instalar-xampp-en-ubuntu-apache-mysql.html

casi te recomiendo la 1ª si tienes necesidad de salir del paso YA y la 2ª (previamente habrás de desinstalar lo instalado) si no tienes mucha experiencia en linux y quieres trabajar de un modo muy parecido a windows, ya que la configuración es muy sencilla y ya te instalará y configurará phpmyadmin, apache, mysql,.... lo cual te facilitará bastante las cosas -supongo.

saludos y suerte

Paco dijo...

Muchísimas gracias. Con la opción uno ha funcionado. No me termina de convencer el porqué no arrancaba desde el inicio, no sé si será porque no instale en el orden correcto php, apache y mysql, pero al menos ahora funciona.

Lo del xampp ya lo había instalado antes, pero esta vez habíamos decidido instalarlo así por probar otra manera.

De nuevo, muchas gracias por tu ayuda.