domingo, 21 de noviembre de 2010

LABORATORIO DE PROGRAMACIÓN WEB

Continuación de MySQL.

Hola, que tal, esta entrada trata sobre la configuración de MySQL.



Después de instalado MySQL, se te pedirá crear la contraseña del administrador.

En versiones antiguas el root o administrador no se crea con la instalación. Debemos crearla manualmente después de instalar el servidor. Para hacerlo debes teclear en un terminal lo siguiente:






$ sudo /usr/bin/mysqladmin -u root password clavenueva

donde obviamente en la parte de "clavenueva" pondrán la clave que ustedes quieran.

Una vez asignada una clave al administrador, puedes conectarte con el servidor My SQL de la siguiente manera:

$ mysql -h localhost -u root -p

Donde "localhost" es la dirección del host y "root" el nombre de usuario.

A continuación debes introducir el password de la base de datos.

Después de introducir el password, nos aparece un mensaje o un banner de bienvenida de MySQL, el cual indica que el prompt (línea de comandos) de MySQL esta listo para recibir comandos.

Si queremos desconectarnos, basta con teclear QUIT.

CONEXIÓN DESDE UN HOST REMOTO.

Por defecto, MySQL no permite que cualquier usuario pueda acceder a las bases de ddatos usando una conexión TCP, para que lo permita debemos crear un usuario con los permisos correspondientes.

Para eso necesitamos editar el fichero /etc/mysql/my.cnf, modificando la línea:

bind-address = 127.0.0.1 (que viene por default)

Cambiándola por la dirección ip del servidor, de la siguiente manera:

bind-address = 1.1.1.1 (La ip que tengas asignada en el servidor)

Después debemos reiniciar el servicio con los siguientes comandos:

shell> cd etc/init.d
shell>./mysql restart

Hasta este punto, ya puedes conectarte al servidor desde un ordenador remoto, si aun no lo consigues, edita el fichero /etc/hosts.allow, añadiendo la siguiente línea:

mysqld: all

Esto va hacer que permita entrar a cualquier host, lo cual no es muy conveniente para cuestiones de seguridad.

GESTIÓN DE USUARIOS

Para crear usarios tendremos que conectarnos al servidor MySQL como ya lo indiqué anteriormente , con un usuario que tenga el permiso global CREATE USER o el permiso INSERT para la base de datos mysql. La sintaxis es la siguiente:

CREATE USER usuario IDENTIFIED BY 'password';

Para eliminar usuarios, el usuario que usemos en la conexión debe tener el permiso global CREATE USER o el permiso DELETE para la base de datos mysql. La sintaxis para eliminar usuarios es la siguiente:

DROP USER usuario;

//Donde la palabra usuario la remplazamos por el nombre del usuario que queremos eliminar, eso igual para crear usuarios.

Dar permisos a un usuario.

Los permisos pueden darse en varios niveles, que son los siguientes:

-Nivel global
-Nivel de base de datos.
-Nivel de tabla

Por ejemplo para dar permiso SELECT al usuario alumno sería así:

GRANT SELECT ON *.* TO alumno;

GESTIÓN DE LAS BASES DE DATOS.

Crear una base de datos.

Paras crear una base de datos nueva, teclear los siguientes comandos:

$ mysql -h servidor -u usuario -p

//Con eso solo nos conectamos al servidor, como ya sabemos, nos pedirá el password, después de teclear el password, introducimos el comando que creará nuestra nueva base de datos, es el siguiente:

mysql> CREATE DATABASE nombreDeLaBaseDeDatos;

Donde en nombreDeLaBaseDeDatos podemos poner el que queramos.

Para eliminar el nombre de la base de datos, entramos a MySQL como ya sabemos, y tecleamos el siguiente comando:

mysql> DROP DATABASE nombreDeLaBaseDeDatos;

//por ejemplo si queremos eliminar la base de datos "alumnos", tecleamos:

mysql> DROP DATABASE alumnos;

RESETEAR LA CONTRASEÑA DE ROOT DEL SERVIDOR.


Algo muy común con las cuentas de root, o cualquier cuenta de usuario, es que olvides la contraseña, para eso, podemos resetar la contraseña.

Para resetearla, se puede hacer lo siguiente:

$ /etc/init.d/mysql stop
$ mysqld_safe --skip-grant-tables &
$ mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('nueva_contraseña') WHERE User='root';
mysql>FLUSH PRIVILEGES;
mysql> \q
$ killall mysqld;
$ /etc/init.d/mysql start

Donde en 'nueva_contraseña' obveiamente pondremos la contraseña que queramos.

Bueno, eso es todo en esta entrada, espero les haya gustado.

Cualquier corrección, pueden ponerla en los comentarios.

1 comentario: