domingo, 25 de septiembre de 2011

MySQL (I) - Instalación

¡Buenas de nuevo a todos! Tras un periodo sin escribir nada, falta de tiempo y ganas, volvemos con una entrada si bien para muchos será algo trivial, a mí me tocó buscar cómo se hacía. Como siempre, me lo apunto aquí para futuras referencias mías, pero esperando que a alguien le venga bien.

Vamos a explicar una instalación básica, en un servidor con cualquier distro de linux. MySQL consta de dos partes, una cliente y una servidor, que pueden estar en el mismo servidor o separados. La configuración más normal es que estén instalados ambos en el mismo servidor, por ello es la que usaré aquí.

Lo primero es instalarlos desde los repositorios, como cada uno tenga a bien de hacerlo (yum, apt...), recordad que hay que instalar el cliente y el servidor ( mysql y mysql-server). Si no instalamos el paquete de servidor nos dará error al tratar de ejecutar el mysql (en este caso que queremos que el servidor mysql esté en nuestro servidor).

Después de instalado, lo primero que hay que hacer es cambiar la contraseña de root, para ello nos conectaremos al mysql desde la consola:
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.0.26 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

Y escribimos el siguiente comando:
mysql> grant all privileges on *.* to root@'localhost' identified by 'Password' with grant option;
> Query OK, 0 rows affected (0.00 sec)
Cerramos la conexion, y al intentar entrar de nuevo nos rechazara la conexion. Ahora para acceder hay que hacerlo indicandole el usuario y que necesita contraseña:
# mysql -u root -p
> Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 5.0.26 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Lo siguiente es crear una base de datos vacía:
mysql> create database DBnueva;
Query OK, 1 row affected (0.00 sec)
Y por ultimo, creamos un usuario con su contraseña y que sólo pueda acceder a su base de datos:
mysql> grant usage on DBnueva.* to Unuevo@localhost identified by 'Password';
Query OK, 0 rows affected (0.00 sec)
Y le asignamos permisos sobre la bbdd anterior:
mysql> grant all privileges on DBnueva.* to Unuevo@localhost ;
Query OK, 0 rows affected (0.00 sec)
Con esto, ya tendremos el MySQL preparado y con un usuario y una base de datos creada. Se pueden crear más BBDD de la misma forma.

¿Para qué nos vale esto? Por ejemplo para usar webs como wordpress o OScommerce si no tenemos un panel como el DirectAdmin (o en su defecto el phpMyAdmin) para crear las bases de datos de una forma sencilla. En algún otro momento veremos cómo hacer más cosas con las bases de datos, pero aún tengo que aprenderlo yo ;)

¡Un saludo!

Referencias:
http://www.linuxtotal.com.mx/index.php?cont=info__tips_011
http://www.debuntu.org/how-to-create-a-mysql-database-and-set-privileges-to-a-user

PD: Creo que no hace falta recordar que los nombres y las contraseñas que están puestos son genéricos, y que cada uno deberá cambiarlos por los que necesite.

No hay comentarios:

Publicar un comentario