02102/12

Alcance Libre - C6mo instalar y configurar

MySQL

TM.

Como instalar y configurar MySQL TM.
Autor: Joel Barrios Duenas Correo electr6nico: darkshram en gmail punta com Sitio de Red: http://wNN.alcancelibre.org/ Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento·NoComercial·CompartirlguaI2.1

© 1999-2007 Joel Barrios Duenas. Usted es libre de copiar, distribuir y comunicar
publicarnente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publlcaclen, a traves de cualquier medio, por entidades con fines de lucro). c) Si altera 0 transforma esta obra, 0 genera una obra derivada, 5610 puede distribuir la obra generada bajo una licencia ldentlca a esta. AI reutilizar 0 distribuir la obra, tiene que dejar bien claro los terminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legitimos u otras limitaciones no se ven afectados por 10 anterior. Licencia completa en castellano. La informaci6n contenida en este documento y los derivados de este se proporcionan tal cual son y los autores no asumlran responsabilidad alguna si el usuario 0 lector hace mal uso de estos. Esta licencia debera aparecer como primer texto del documento distribuido

lntroducclon.
Acerca de MySQL TM.
MySQL 1Mes un DBMS (DataBase Management System) 0 sistema de gesti6n de base de datos SQL (Structured Query Language 0 Lenguaje Estructurado de Consulta) multiusuario y multihilo con licencia GNU/GPL. MySQL1M es propiedad y patrocinio de MySQL AB, cornpartla 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 c6digo que 10integra. MySQL AB desarrolla y mantiene el sistema vendiendo servicios de soporte y otros valores agregados, asi como licenciamiento propietario para los desarrollos de equipamiento 16gicoque requieren mantener cerrado su c6digo. MySQL 1Mes actualmente el servidor de base de datos mas popular para los desarrollos a traves de la red mundial, con una estimaci6n de mas de diez millones de instalaciones. Es muy rapldo y s6lido. URL: http://www.mysgl.com/

Equipamiento logico necesario.
Instalaci6n a traves de yum.
www.alcancelibre.org/staticpages/index.php/como-mysql-quickstart/print

1/7

SELinux y el servicio mysqld. De otro modo. utilice: /sbin/service mysqld start Para reiniciar el servicio mysqld. utilice el siguiente mandato: setsebool -P allow_user_mysql_connect 1 Iniciar. Si utiliza CentOS 4. detener y reiniciar el servicio mysqld.C6mo instalar y configurar MySQL TM. active la politica mysqld_disable_trans con el mandato setsebool para permitirfuncionar al servicio mysqld. setsebool -P mysqld_disable_trans 1 Para que SELinux permita utilizar el cliente mysql para establecer conexiones hacia servidores MySQL. el servicio mysqld jarnas podra iniciar.org/staticpages/index.php/como-mysql-quickstart/print .02102/12 Alcance Libre . solo bastara realizar 10siguiente para instalar 0 actualizar el equipamiento 16gico necesario: up2date -i mysql mysql-server Procedimientos. Si se utiliza Red HatTM Enterprise Linux 4. utilice: /sbin/service mysqld stop 2/7 www. solo se necesita realizar 10siguiente para instalar 0 actualizar el equipamiento 16gico necesario: yum -y install mysql mysql-server Instalaci6n a traves de up2date. Para iniciar por primera vez el servicio mysqld y generar la base de datos inicial (mysql). Si utiliza CentOS 4 0 White Box Enterprise Linux 4. Red Hat™ Enterprise Linux 4 0 White Box Enterprise Linux 40 versiones posteriores de estes sistemas operatives. utilice: /sbin/service mysqld restart Para detener el servicio mysqld.alcancelibre.

sera necesario anadlr la opci6n -p a cualquier sentencia de linea de mandatos para. 4. no tiene asignada clave de acceso alguna despues de iniciado el servicio por primera vez. en todos los niveles de ejecuci6n (2.alcancelibre. Como root. descrito a continuaci6n. utilice el mandato mysql: # mysql Dentro del lnterprete de mandatos de MySQL.. Para hacer que el servicio de mysqld este activo con el siguiente inicio del sistema. Agregar el servicio mysqld al arranque del sistema. La forma complicada de realizar 10 anterior se describe solo con fines dldacticos y como prueba de concepto.02102/12 Alcance Libre .php/como-mysql-quickstart/print 3/7 . se utiliza 10 siguiente: /sbin/chkconfig mysqld on Asignacion de clave de acceso al usuario root. Por razones de seguridad. indique con el mandato use mysql que utilizara unica base de datos existente. mysql: > use mysql Solicite con el mandato show tables que se muestren las tablas de la base de datos mysql: > show tables. pero sirve para entender el funcionamiento en cuanto a asignaci6n de claves de acceso. Metodo largo. realizar diversas tareas administrativas. mysqladmin -u root password nueva-clave-de-acceso En adelante. La forma mas simple de asignar una clave de acceso al usuario root de MySQL ™ solo requiere de un unico mandato.C6mo instalar y configurar MySQL TM.org/staticpages/index. de esta forma. 3. es muy importante asignar una clave de acceso. No es del todo practlco realizar asignaci6n de la clave de acceso del usuario root con este rnetodo. www. Metodo corto. Y5). EI usuario root en MySQL %trade. mysqladmin y mysqldump para ingresar la clave de acceso del usuario root y poder.

alcancelibre.C6mo instalar y configurar MySQL TM.org/staticpages/index. Debera aparecer ahora un criptograma en el campo que corresponde a la clave de acceso del usuario root. 10 siguiente: +-------------------------+----------+------------------+-------------+ Host Password I I I User Select_priv +-------------------------+----------+------------------+-------------+ I localhost I root ----+ Y +-------------------------+----------+------------------+---------Como se podra observar. Con el mandato select * from user se rnostrara el contenido de la tabla user de la base de datos actual: > select * from user. el usuario root no tiene asignada una clave de acceso. Esto hara que se vea. where Uti lice de nuevo el mandato select * from user y vue Iva observar el campo que corresponderia al de la clave de acceso del usuario root: > select * from user. > flush privileges www.php/como-mysql-quickstart/print 4/7 . entre otras muchas cosas. por 10 que cualquiera que se identifique como root en el sistema tendra acceso a todo en MySQL. +-------------------------+----------+------------------+-------------+ I Host I I User Password ----+ I Select_priv +-------------------------+----------+------------------+---------localhost 14593274b8eOd68j8521 Y root ----+ +-------------------------+----------+------------------+---------Se recomienda realizar refresco de los privilegios a fin de que tomen efecto los cambios. Se aslqnara una clave de acceso del siguiente modo: > update user set Password=PASSWORD('nuevo_password') user='root'.02102/12 Alcance Libre .

mysq1admin -u root -p drop dbejemp10 Otorgando permisos a los usuarios.org/staticpages/index. En adelante el usuario root solo se utilizara para tareas administrativas y creaci6n de nuevas bases de datos. Para probar. pero especificando un usuario (-u root) y solicitando se pregunte por una clave de acceso (-p): mysq1 -u root -p A continuaci6n se Ie pedlra ingrese una clave de e acceso. puede utilizarse el mandato mysqladmin pararnetro create: mysq1admin -u root -p create dbejemp10 con el Si queremos eliminar dicha base de datos.C6mo instalar y configurar MySQL TM. y seguro. solo hay que salir del interprete de MySQL. Reseltara conveniente delegar a los usuarios ordinarios el manejo de sus propias bases de datos. Una vez generada una base de datos.alcancelibre. Para crear una nueva base de datos.02102/12 Alcance Libre .php/como-mysql-quickstart/print 5/7 . debemos determinar con que usuario y desde que equipo en la red local. > quit Intente ingresar de nuevamente al lnterprete de mandatos de MySQL TM: mysq1 Notara que ya no se puede acceder como antes. tras 10 cual obtendra de nuevo acceso al lnterprete de mandatos de MySQL ™ Creando y destruyendo bases de datos. Genere un base de datos denominada directorio: www. y regresa un mensaje de error. se podra tener acceso. ERROR 1045: Access denied for user: password: NO) 'root@loca1host' (Using Ejecute ahora el mismo mandato. a menos que el desarrollo web 0 aplicaci6n se localice en otro equipo. asi como los privilegios para modificar esta. es asignar el acceso solo desde el mismo servidor (/oealhost). utilizamos el pararnetro drop en lugar de create. Lo mas cornua.

AI concluir. es decir jperez@192. la clave de acceso de un usuario no podra ser utilizada desde un sistema remoto. Las reglas para el archivo letc/shorewali/ruies (net). update. drop ON directorio. se requiere permitir el acceso hacia la base de datos directorio desde otro equipo en la red local. Si. delete (eliminar) y drop (descartar) sobre las tablas de la base de datos directorio al usuario prueba desde el anfitri6n localhost (equipo local): GRANT select. como por ejemplo Shorewall. create (crear).ADD YOUR ENTRIES BEFORE THIS ONE -.1. GRANT select. update. delete.* TO prueba@localhost IDENTIFIED BY 'password_del_usuario_prueba'. Si se utiliza un cortafuegos con politicas estrictas.alcancelibre. con fines administrativos.253 IDENTIFIED BY 'clave de acceso_para jperez'.253. se tendra una base de datos denominada directorio que podra ser utilizada y modificada por el usuario prueba desde el anfitri6n localhost. alter. y garantizara que de verse comprometida la seguridad.168. donde solo se va a permitir el acceso al servicio mysqld desde la red local.* TO jperez@192. suponiendo que se desea asignar permisos select (seleccionar).168. alter (aldetar). se puede otorgar el acceso y permisos al usuario jperez desde el anfitri6n 192. create.168. insert. insert (insertar).php/como-mysql-quickstart/print 6/7 . mysqladmin -u root -p create directorio Se accede hacia el lnterprste de mandatos de MySQL ™ Y se utiliza 10 siguiente.DO NOT REMOVE Las reglas para el archivo letc/shorewali/ruies de Shorewall en un sistema con dos zonas (net y loc). delete.org/staticpages/index. corresponderia a 10 siguiente: de Shorewall es necesario en un sistema con una zona #ACTION SOURCE DEST PROTO DEST SOURCE # PORT PORT(S)l ACCEPT net fw tcp 3306 #LAST LINE -.253.1.1. drop ON directorio. alter. por mencionar un ejemplo. insert.C6mo instalar y configurar MySQL TM. Esto establecera un nivel de seguridad apropiado. update (actualizar). corresponderia a 10 siguiente: www. Modificaciones necesarias en el muro cortafuegos.02102/12 Alcance Libre . abrir el puerto 3306 por Tep (mysql). create.

org/staticpages/index.DO NOT REMOVE Mas documentos del mismo autor (Joel Barrios) en este enlace.alcancelibre.ADD YOUR PROTO tcp ENTRIES DEST PORT 3306 BEFORE SOURCE PORT(S)l THIS ONE -.php/como-mysql-quickstart/print 717 .02102/12 Alcance Libre .alcancelibre.C6mo instalar y configurar MySQL TM.org/staticpages/index.php/como-mysgl-guickstart o www. Alcance Libre http://www. #ACTION SOURCE DEST # ACCEPT lac fw #LAST LINE -.