Instalar un Servidor Community de MySQL 5.x

Hola, ahora veremos como instalar MySQL Server Community 5.x en un ambiente windows, en mi caso lo estoy haciendo en windows 7, es una herramienta que instala:

  • MySQL Server

(Recuerda que puedes dar clic sobre la imagen para ver la misma “mas grande” en algunos casos).

Visitaremos su pagina para descargar una versión estable:

http://www.mysql.com/products/community/

Nosotros para los efectos de los demas tutoriales que emplearemos aqui, descargamos la version 5.5.x.

El nombre del archivo es mysql-5.5.xxxx-win32.msi Con el cual ejecutaremos para la instalación.

Nos preguntara si confiamos en el archivo a utilizar, le damos clic en EJECUTAR:

Nos da la bienvenida al Instalador, le damos clic en NEXT:

Nos muestra la licencia de Uso que estaremos utilizando con esta versión de MySQL, palomeamos que aceptamos estas y le damos clic en NEXT:

Nos da a escoger entre una serie de opciones para la instlacion:

  • Typical
  • Custom
  • Complete

Nosotros escogeremos CUSTOM (que es el chiste del tutorial) y daremos clic en NEXT:

En esta ventana, podemos escoger las distintas opciones para instalar, NO moveremos nada esta vez y le damos clic en BROWSE para realizar la acción siguiente:

Ahora viene la parte sabrosona… En Windows XP, no habia problemas para instalar software que levantara servicios, en Windows Bestia o Windows 7, si tenemos problemas, ya que a Bill Gates no le gustaba esta opcion, para evitar esta restriccion, DEBEMOS instalar FUERA de la carpeta “Archivos de Programa” o “Program Files”, en nuestro caso, instalaremos directamente en “Raiz”, para “brincarnos esta tranca” de Bill. le damos clic en OK:

Ahora si con el directorio modificado, damos clic en NEXT:

Confirmación de parametros de Instalación de MySQL

Nos dira, que esta listo para Proceder con la Instalación del Servidor, damos clic en INSTALL:

Nos mostrara el avance de la instalación:

Nos muestra publicidad de la versión de paga de MySQL:

Mas publicidad, aunque en este caso el MySQL Enterprise Monitor Service, si es un software muy, pero muy bueno tener si vas a Administrar Profesionalmente un Servidor de MySQL:

Ahora mostrara una ventana, donde dice que la INSTALACIÓN ha terminado, pero hay que palomear la opción de “Launch the MySQL Instance Configuration Wizard”, para poder CONFIGURAR la Instalación recien hecha (este wizard lo podemos ejecutar en cualquier momento), damos clic en FINISH:

Abrira una ventana del Wizard, que nos servira para configurar la Instalación del Servidor, daremos clic en NEXT:

Se nos presentaran 2 opciones:

  • Detailed Configuration: La cual nos servira para configurar a detalle y esta es la que elegiremos.
  • Standar Configuration: Pero entonces, no tendria chiste el tutorial.

Damos clic en NEXT:

Ahora se nos presentan 3 opciones:

  • Developer Machine: Esta opcion es cuando vamos a instalar en una computadora donde estaremos desarrollando nuestras aplicaciones en conjunto con MySQL.
  • Server Machine: Cuando estemos instalando en un Servidor, puede ser un entorno de desarrollo compartido o uno de producción, pero para el de producción, tal vez convenga mas la siguiente opcion.
  • Dedicated MySQL Server Machine: Esta opcion es la conveniente cuando estemos montando en un servidor de MySQL exclusivo a un ambiente de producción, -abusados, porque es la opcion que mas recursos consume-.

Escogeremos la que mas nos convenga, pero si es para desarrollo en tu lap o pc, pues la primera y damos clic en NEXT:

Ahora se nos presentan 3 opciones:

  • Multifunctional Database: Esta pone como “motor default” al MyISAM, lo cual es bueno, pero hasta la version anterior a la 5.5, y si no vas a manejar bases de datos relacionales, como algunos profesores hacen, para evitar broncas con la enseñanza de verdaderos CONSTRAINTS. Aunque si instala los otro motores de MySQL.
  • Transactional Database: Esta pone como “motor default” al InnoDB, lo cual es lo mejor que podemos hacer, porque este motor si acepta Constraints. Y es la opcion que elegiremos para este tutorial.
  • Non-Transactional Database Only: Esta opcion es la mas restringida de las demas, ya que SOLO instala el motor de MyISAM y ninguno otro mas, pero en algunos casos era lo recomendable, pero con la versión 5.5.x de MySQL esto ya es obsoleto (por ahi en el facebook, tengo un post acerca de esto).

Escogemos la segunda opcion y damos clic en NEXT:

Abusados aqui… esta opcion nos esta preguntado DONDE va a colocar lo necesario para el motor InnoDB, por defaul, nos dice que en el disco duro actual, ya dependiendo de nuestras necesidades podemos optar por dejarlo en otra unidad, pero si no sabes los pros y contras de esto, pues mejor deja la opcion por default y da clic en NEXT:

Ahora nos va a preguntar por cuantos usuarios esperamos que se conecten en nuestro servidor que configuramos:

  • Decision Support (DSS)/OLAP: Esperamos un aproximado de 20 usuarios conectados al mismo tiempo. Si es maquina de desarrollo en tu lap o pc, pues esta es la opción mas adecuada.
  • Online Transaction Processing (OLTP): Esperamos un aproximado de 500 usuarios al mismo tiempo. Esto sirve si realmente vas a tener muchas personas conectadas al mismo tiempo.
  • Manual Setting: Te permite entrar un numero especifico de usuarios, los que quieras, hay que tener cuidado con esta opcion.

Ahora, cualquier opcion que escogas no hay problemas, MySQL, no es un software como Oracle o SQL Server, que si compraste para “equis” numero de usuarios llegando a “x+1” ya no deja conectar, no… Pero si influye mucho los recursos que tome el Servidor para sí. Escogemos la opcion pertinente y damos clic en NEXT:

Aqui nos pide un par de cosas interesantes:

Primero nos dice que si habilitamos el ENABLED TCP/IP NETWORKING, es decir, si vamos a habilitar que nos envien y recibamos peticiones por la red, nos pide el puerto y nos dice que si añade una excepción al Firewall de Windows para este puerto. Hay que recalcar, que si tienes un antivirus con Firewall, este desactiva el de Windows, y entonces hay que darle permisos al programa especificamente desde el antivirus.

Luego nos da la opcion de ENABLED STRICT MODE, esto pone al MySQL en modo estricto, es decir no acepta “errorcitos” y se sigue de largo, al contrario mostrara todos los ERRORS y WARNINGS correspondientes, el dejar sin activar esta opcion nos hara caer en lo que se conoce como “Falsos Positivos”… y los cuales son un gran de dolor para los programadores, no para los dba… jaja… damos clic en NEXT:

Ahora nos va a permitir escoger el juego de caracteres por default:

  • Standar Character Set: Instala como juego de caracteres por defaul el conocido como ISO-8859-1, el West European, que hasta el siglo o milenio pasado era el estandar para utilizar.
  • Best Support For multilingualism: Instala como juego de caracteres por defaul el conocido como UTF-8, que guarda los caracteres como bytes de Doble Densidad, lo cual es lo mejor, ya que guarda los caracteres de manera nativa, y para idiomas como el español, que tiene ñ, y vocales acentuadas, es lo mejor. Por cierto sabias que el MITO de que las MAYUSCULAS no se acentuan, surgio porque con el advenimiento de las maquinas de escribir, el caracter acentuado en las mayusculas NO CABIA EN EL LINOTIPO, pero las Mayusculas si se acentuan 😉
  • Manual Selected Default Character Set/Collation: Instala el juego de caracteres por default, que tu escogas, una opcion muy comoda para idiomas que no tiene caracteres derivados de los greco-latinos.

Escogeremos la segunda opcion (UTF-8) y daremos clic en NEXT:

Ahora podemos configurar 2 cosas importantes, la primera es instalar MySQL como un servicio de Windows, esto es NECESARIO, si tu servicio lo estas instalando en un servidor de desarrollo compartido o un servidor de producción. Luego indicaremos como parar o detener el servicio manualmente. Tambien te permite ponerle un nombre al servicio (por default trae MySQL) y nos permite activar o no la opcion de levantar el servicio al enceder el servidor.

La segunda opcion es incluir el directorio BIN (donde se encuentran los ejecutables de MySQL) en el PATH del Shell, para mayor comodidad, pero yo en lo personal no se lo recomiendo a mis alumnos, ya que no hay como ver en donde estas dentro del shell, lo cual tambien motiva el conocimiento de estructura de directorios del MySQL 😉 damos clic en NEXT:

Ahora estara una de las mas importantes: Poner contraseña al poderosisimo super usuario root, por favor si es un entorno de produccion no pongan “root” o “mysql” o la peor salvajada que algunos profes recomiendan: “dejalo sin contraseña pa’que sea más facil”… WTF….!!! En serio cuando he oido esto, solo pienso… “voy a averiguar donde vive la profesora, porque de segurito deja tambien su casa sin llave” -solo bromeo-. (ASI DE SALVAJE ES EL ASUNTO JOVENES) Si un profe te dice esto, dile que no, alejate inmediatamente de él, y ven y cuentaselo a otro profe de más confianza. Les comparto mi ultimo password en el servidor viejito de produccion: e8FF30fcB4fAd3 Tambien abajo de la contraseña te pregunta si le habilitas al root, el conectarse de manera remota… Si no entendiste el parrafo anterior, sobra decirte si activas o no esta opción 😉 La otra opcion, es si permites crear una cuenta “anonima“… sobran palabras, damos clic en NEXT:

Ahora nos muestra el wizard todo lo que va a hacer… si en el punto 3 llega a marcar error, es por lo del firewall que hablamos arriba, o que el puerto esta ocupado, intenta otro… o de plano eres de los “brujos y brujas” que me ha tocado ver, que tienen como 5 apaches, 2 tomcat, 4 appserv y 6 MySQL instalados… (como lo hicieron, seria un tema para un doctorado, tal vez). Lo otro que tienes que checar es “¿Cuantas barras de emoticones y chunches similares tiene tu Internet Explorer?”, me ha tocado ver pantallas hasta con 12 barras de estas, TODAS estas barras sin excepción levantan servicios spyware o malware y agarran puertos conocidos, como el 3306, eso tambien te puede estar causando conflictos. Encomiendate a tu Santo de tu devocion y dale clic en EXECUTE:

Si todo sale bien… pues veras una pantalla como la que sigue, da clic en FINISH (y si no, pues se dan asesorias):

Ahora vamos a ver… la carpeta de MySQL Server… hay que aplicarle algunos jutsus mas… para que quede apunto, sobre todo si estas utilizando Windows Vestia, perdon, Vista, o Windows 7… asi que encuentra la carpeta:

Le damos clic derecho y escogemos la opcion de PROPIEDADES:

Nos vamos a la parte de “Solo lectura…” y le quitamos CUALQUIER MARCA que tenga (no cierres aun esta ventana):

Luego nos vamos a la lengüeta de SEGURIDAD, y le damos clic en el botoncito de en medio que dice: EDITAR.

Uno a uno de todos los grupos de usuarios o usuarios los escoges y les activas la opción CONTROL TOTAL -> PERMITIR. Esto es con el fin de que tanto tu programador, como TUS PROGRAMAS, tengan acceso a MySQL, y ni me vengan a decir que es un fallo de seguridad, porque aqui no se maneja la capa de seguridad en MySQL, esto es una ÑOÑERIA de Windows, luego de que terminemos damos clic en APLICAR, y luego clic en ACEPTAR, nos regresara a la ventana anterior, donde volveremos a dar clic en APLICAR, y luego clic en ACEPTAR:

Entonces, nos mostrara una ventanita donde nos pregunta si le aplicamos el jutsu a esa carpeta o a todos sus hijas, le decimos que con TODAS:

Ahora veamos un poquito acerca de los programas de MySQL:

  • mysql.exe: Es el que nos permite interactuar directamente en linea de comandos con las bases de datos en él.
  • mysqladmin.exe: Nos permite levantar, tirar y hacer cuanto jutsu queramos con el servicio de MySQL.
  • mysqld.exe: Este es el servicio de MySQL, el que se levanta y demas, si tienes un antivirus con firewall, este es el archivo que necesitas darle permisos, de manera explicita, el mysql.exe es solo un Dōjutsu.
  • mysqldump.exe: Nos sirve para hacer respaldos seguros de una base de datos completa, incluyendo aquellas que tienen el motor InnoDB.
  • mysqlhotcopy.exe: Nos sirve para hacer respaldos seguros de las bases de datos que tengan el motor de MyISAM exclusivamente, inclusive les aplica unos jutsus de desfragmentacion, depuracion y optimizacion antes de realizar el respaldo… :O
  • MySQLInstanceconfig.exe: Este es el wizard que nos permite configurar el MySQL Server nuevamente. Inclusive te permite volver a poner CONTRASEÑA al root, no que luego hay andan buscando en taringa, utilerias para hacer eso… jaja… y lo peor.. por consejo de algun profesor… WTF…!!!, no es necesario, solo te vas a descargar malware o spyware… abusado…

Ahora vamos a ver otros jutsus basicos para el MySQL:

Nos vamos a ejecutar y tecleamos CMD y damos clic en ACEPTAR:

Buscamos la ruta donde se instalo el MySQL y su carpeta BIN, y tecleamos lo siguiente y damos enter:

mysql -u root -p

Nos pedir la contraseña, tecleamos la que pusimos en el wizard (alla arribita en el tutorial), y damos enter, enseguida nos dara la bienvenida y dejara el prompt de Mysql:

mysql>

Para restablecer la contraseña del root, sin iniciar el wizard, podemos colocar un comando asi dentro del shell de mysql y dar enter:

SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘aqui va la nueva contraseña’);

Para salir del shell de mysql, simplemente bastara con teclear y dar enter:

exit;

Ahora veamos como levantar y detener el servicio de MySQL a capricho desde Windows:

Nos vamos al panel de control y buscamos HERRAMIENTAS ADMINISTRATIVAS y damos clic:

Buscamos el acceso directo que dice SERVICIOS y damos clic:

Y desde ahi, buscaremos el servicio de MySQL o como le hayas puesto nombre al servicio de MySQL desde el wizard, Una vez localizado y seleccionado, puedes Detener / Iniciar, Pausar o Reiniciar el servicio con los links del lado izquierdo o con los iconos de arribita:

Y estaremos listos para empujar tecla dentro de MySQL, crear bases de datos, tablas, columnas, usuarios, disparadores, vistas, etc…

Espero que sea de utilidad, es para los muy polluelos, pero necesario para realizar los jutsus mas avanzados de MySQL.

Para estar al pendientes de nuevos tutoriales, pues ahi tienen mi cuenta de twitter: http://twitter.com/profesorAntonio y para quejas, pues a otro lado, porque nadie te obligo a leer este blog, feliz codigo y gracias.

(Todas las imagenes mostradas aqui son con FINES EDUCATIVOS, cualquier otro uso pidanle un chance a los de MySQL).

3 comentarios en “Instalar un Servidor Community de MySQL 5.x

  1. Muy bueno antonio, te felicito por darte el tiempo de compartirnos este software, yo ya lo estoy untilizando ya que estoy desarrollando un proyecto BI con software libre Mysql y pentaho ambos en community edition.

    Gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *