MySQL
¿Porqué comenzar la guía con la instalación de MySQL y no con PHP o Apache?
MySQL (como todos los servidores de bases de datos cliente/servidor) son servicios del sistema que pueden ser usados por cualquier programa que lo requiera.
PHP no es el único programa que puede hacer uso de MySQL, de hecho existen infinidad de programas y lenguajes que permiten realizar una conexión contra este servidor de bases de datos. No hace falta más que buscar el
listado en donde encontrará que lenguajes como C, C++, Java, la propia plataforma .NET, y un largo etc. hacen uso de éste motor.
Lo anterior implica que
MySQL no depende de ninguno de esos programas clientes para su instalación (sería inimaginable de otra manera), por lo que es oportuno comenzar con él para después continuar con lo demás. Asi que manos a la obra.
Instalación de MySQL
Utilizaremos el wizard para instalar MySQL que nos guiará de forma amena en su instalación.
Al ejecutarlo nos aparece la ventana de bienvenida, presionamos Next y seleccionamos el tipo de instalación Custom y continuamos. En esta ventana de instalación avanzada vamos al botón Change... para modificar el directorio de instalación de MySQL y buscamos nuestro ya creado C:MySQL, de esta ventana no modificamos nada más.
Si continuamos veremos el botón Install que presionaremos con mucho gusto.
En la mitad de la instalación aparecerá una ventana para obtener una cuenta en el sitio oficial de MySQL, podemos elegir Skip Sign-up y presionar Next sin problemas.
Ya instalado MySQL se nos muestra una ventana indicando tal situación y una opción marcada: Configure the MySQL Server now, la dejamos marcada y damos a Finish. Si por algún motivo el instalador terminó y no levantó el programa de configuración, no se preocupe. Siempre puede invocarlo desde C:MySQLbinMySQLInstanceConfig.exe.
Configuración de MySQL
MySQL Server Instance Configuration Wizard
Este programa es una interface gráfica de configuración para el archivo my.ini que inicialmente no existe, sino que disponemos de templates de éste archivo, por lo que es importante ejecutarlo apenas se terminaron de copiar los archivos de la instalación al disco a fin que cree el nuevo archivo de configuración C:MySQLmy.ini.
Al ejecutarlo presionamos Next y elegimos Detailed Configuration.
Al ser ésta una instalación para desarrollar elegiremos Developer Machine, esa configuración es muy buena para máquinas con poca cantidad de memoria ram.
Luego y volviendo a tomar en cuenta que es un servidor de desarrollo, es que elegimos Multifunctional Database, ésto instala los diferentes motores para tablas que tiene mysql. De esa forma podremos crear bases de datos MyISAM asi como también InnoDB.
En la siguiente ventana nos pregunta donde crear las bases de datos InnoDB, personalmente me gusta saber donde están asi que siempre elijo la opción MySQL InnoDB Datafiles (lo cual creará el directorio C:MySQL InnoDB Datafiles), y le doy a Next.
Posteriormente nos pregunta cuantas conexiones concurrentes creemos que el servidor necesitará durante su uso. Un valor por defecto de 20 sería más que correcto, por lo que elegir Decision Support es una buena idea. De todas formas puede especificarlo en el seteo manual.
Ahora nos pregunta en que puerto se realizará la conexión mediante TCP/IP y si debemos habilitar el modo estricto. A esta ventana la dejamos como está y presionamos Next.
La siguiente ventana de configuración es muy importante, se trata del charset por defecto que tendrán nuestras bases de datos cuando se creen sin especificar dicho valor. Por los tiempos en los que corremos, la mejor opción es sin lugar a dudas UTF8 que la seleccionaremos en Manual Selected Default Character Set / Collation.
Dado que este manual es para Windows NT, utilicemos servicios. A ésto se lo especificamos al tildar la opción Install As Windows Service y podemos asignarle un nombre al servicio. Es buena idea elegir MySQL5 como nombre y permitir que el servidor se levante apenas el sistema operativo arranca.
Luego hay otra opción muy importante Include Bin Directory in Windows PATH la cual dejaremos sin marcar ya que luego lo agregaremos a mano de ser necesario.
La siguiente ventana nos pide algo imprescindible, la clave del administrador del servidor. El nombre del administrador es root y su password... el que usted desee. Le aconsejo que coloque uno que recuerde, quizá el de inicio de sesión de Windows.
Por cuestiones de seguridad, no cree una cuenta anónima.
En la última ventana solo debe presionar Execute y si todo marcha bien, presione Finish y felicidades!... si hubo un error, repita todos los pasos anteriores. Ésto es básicamente para crear el archivo my.ini, pero recuerde que siempre puede hacerlo editandolo directamente y reiniciando el servidor.
Editando directamente el archivo my.ini
Todo lo anterior se aplica aquí, y hay que ser cuidadoso en ambas situaciones.
Se recomienda enfáticamente que primero ejecute MySQL Server Instance Configuration Wizard para crear el archivo my.ini pero si no quiere, siempre puede tomar alguno de los templates (*.ini) colocados en la carpeta C:MySQL, modificarlo y renombrarlo a my.ini.
Con los pasos anteriores nos alcanza perfectamente para tener el servidor funcionando correctamente, si quiere mayor configuración revise el manual. Y no olvide, luego de modificar el archivo de configuración debe reiniciar el servidor para que los cambios le sean visibles.
Testeando el servidor
Para testear lo mas simple es realizar lo siguiente en una consola cmd:
C:MySQLbin>mysqlshow.exe --user=root --pass=suclaveaqui
+--------------------+
| Databases |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
Este programa con esos parámetros se conectará con el servidor y le pedirá las tablas ya creadas (en nuestro caso veremos las creadas por defecto), las mostrará y cerrará la conexión. Si esto funciona, entonces su servidor está bien instalado y funcionando correctamente.
Ya tenemos el servidor MySQL funcionando correctamente para cualquier programa que así lo requiera (PHP, Delphi, C++, .NET, etc.). Ahora veamos como instalar y configurar Apache.