|
|
Atención: 21 al 25 de mayo, Curso Global de Servidores con CentOS 6.
Atención: 23 al 27 de abril, Curso SUSE Linux Enterprise Desktop Administration. Atención: 21 y 28 de abril, 5 y 12 de mayo, Taller de programación de Python. Atención: Disponible ALDOS 1.4.3. Nuestro sistema operativo para escritorio. Cómo instalar y configurar MySQL™.
Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
Introducción.Acerca de MySQL™.MySQL™ es un DBMS (DataBase Management System) o sistema de gestión de base de datos SQL (Structured Query Language o Lenguaje Estructurado de Consulta) multiusuario y multihilo con licencia GNU/GPL. MySQL™ es propiedad y patrocinio de MySQL AB, compañía fundada por David Axmark, Allan Larsson y Michael Widenius, con base de operaciones en Suecia, la cual posee los derechos de autor de casi todo el código que lo integra. MySQL AB desarrolla y mantiene el sistema vendiendo servicios de soporte y otros valores agregados, así como licenciamiento propietario para los desarrollos de equipamiento lógico que requieren mantener cerrado su código. MySQL™ es actualmente el servidor de base de datos más popular para los desarrollos a través de la red mundial, con una estimación de más de diez millones de instalaciones. Es muy rápido y sólido. Equipamiento lógico necesario.Instalación a través de yum.Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:
Instalación a través de up2date.Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:
Procedimientos.SELinux y el servicio mysqld.Si utiliza CentOS 4, Red Hat™ Enterprise Linux 4 o White Box Enterprise Linux 4 o versiones posteriores de estos sistemas operativos, active la política mysqld_disable_trans con el mandato setsebool para permitir funcionar al servicio mysqld. De otro modo, el servicio mysqld jamás podrá iniciar.
Para que SELinux permita utilizar el cliente mysql para establecer conexiones hacia servidores MySQL, utilice el siguiente mandato:
Iniciar, detener y reiniciar el servicio mysqld.Para iniciar por primera vez el servicio mysqld y generar la base de datos inicial (mysql), utilice:
Para reiniciar el servicio mysqld, utilice:
Para detener el servicio mysqld, utilice:
Agregar el servicio mysqld al arranque del sistema.Para hacer que el servicio de mysqld esté activo con el siguiente inicio del sistema, en todos los niveles de ejecución (2, 3, 4, y 5), se utiliza lo siguiente:
Asignación de clave de acceso al usuario root.El usuario root en MySQL%trade;, no tiene asignada clave de acceso alguna después de iniciado el servicio por primera vez. Por razones de seguridad, es muy importante asignar una clave de acceso. Método corto.La forma más simple de asignar una clave de acceso al usuario root de MySQL™ solo requiere de un único mandato, descrito a continuación.
En adelante, será necesario añadir la opción -p a cualquier sentencia de línea de mandatos para , mysqladmin y mysqldump para ingresar la clave de acceso del usuario root y poder, de esta forma, realizar diversas tareas administrativas. Método largo.La forma complicada de realizar lo anterior se describe solo con fines didácticos y como prueba de concepto. No es del todo práctico realizar asignación de la clave de acceso del usuario root con este método, pero sirve para entender el funcionamiento en cuanto a asignación de claves de acceso. Como root, utilice el mandato mysql:
Dentro del intérprete de mandatos de MySQL, indique con el mandato use mysql que utilizará única base de datos existente, mysql:
Solicite con el mandato show tables que se muestren las tablas de la base de datos mysql:
Con el mandato select * from user se mostrará el contenido de la tabla user de la base de datos actual:
Esto hará que se vea, entre otras muchas cosas, lo siguiente:
Como se podrá observar, el usuario root no tiene asignada una clave de acceso, por lo que cualquiera que se identifique como root en el sistema tendrá acceso a todo en MySQL. Se asignará una clave de acceso del siguiente modo:
Utilice de nuevo el mandato select * from user y vuelva observar el campo que correspondería al de la clave de acceso del usuario root:
Deberá aparecer ahora un criptograma en el campo que corresponde a la clave de acceso del usuario root.
Se recomienda realizar refresco de los privilegios a fin de que tomen efecto los cambios.
Para probar, solo hay que salir del intérprete de MySQL.
Intente ingresar de nuevamente al intérprete de mandatos de MySQL™:
Notará que ya no se puede acceder como antes, y regresa un mensaje de error.
Ejecute ahora el mismo mandato, pero especificando un usuario (-u root) y solicitando se pregunte por una clave de acceso (-p):
A continuación se le pedirá ingrese una clave de e acceso, tras lo cual obtendrá de nuevo acceso al intérprete de mandatos de MySQL™ Creando y destruyendo bases de datos.Para crear una nueva base de datos, puede utilizarse el mandato mysqladmin con el parámetro create:
Si queremos eliminar dicha base de datos, utilizamos el parámetro drop en lugar de create.
Otorgando permisos a los usuarios.En adelante el usuario root solo se utilizará para tareas administrativas y creación de nuevas bases de datos. Resultará conveniente delegar a los usuarios ordinarios el manejo de sus propias bases de datos. Una vez generada una base de datos, debemos determinar con que usuario y desde que equipo en la red local, se podrá tener acceso, así como los privilegios para modificar esta. Lo más común, y seguro, es asignar el acceso solo desde el mismo servidor (localhost), a menos que el desarrollo web o aplicación se localice en otro equipo. Genere un base de datos denominada directorio:
Se accede hacia el intérprete de mandatos de MySQL™ y se utiliza lo siguiente, suponiendo que se desea asignar permisos select (seleccionar), insert (insertar), update (actualizar), create (crear), alter (aldetar), delete (eliminar) y drop (descartar) sobre las tablas de la base de datos directorio al usuario prueba desde el anfitrión localhost (equipo local):
Al concluir, se tendrá una base de datos denominada directorio que podrá ser utilizada y modificada por el usuario prueba desde el anfitrión localhost. Esto establecerá un nivel de seguridad apropiado, y garantizará que de verse comprometida la seguridad, la clave de acceso de un usuario no podrá ser utilizada desde un sistema remoto. Si, por mencionar un ejemplo, se requiere permitir el acceso hacia la base de datos directorio desde otro equipo en la red local, con fines administrativos, se puede otorgar el acceso y permisos al usuario jperez desde el anfitrión 192.168.1.253, es decir jperez@192.168.1.253.
Modificaciones necesarias en el muro cortafuegos.Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 3306 por TCP (mysql). Las reglas para el archivo /etc/shorewall/rules de Shorewall en un sistema con una zona (net), correspondería a lo siguiente:
Las reglas para el archivo /etc/shorewall/rules de Shorewall en un sistema con dos zonas (net y loc), donde solo se va a permitir el acceso al servicio mysqld desde la red local, correspondería a lo siguiente:
Más documentos del mismo autor (Joel Barrios) en este enlace. |
Comentarios Recientes