Instalación Automatica de Mysql en Windows
Actualmente estoy trabajando en un sistema en Visual Basic .Net que usa Mysql como motor de base de datos. Me encargaron que le hiciera un instalador en el cual integrara la aplicación, la base de datos, así como la configuración de la misma. Lo ideal hubiera sido usar Sqlserver Express como base de datos de tipo embebida, pero por cuestiones de premura en el tiempo de entrega del proyecto (que raro…), se optó por hacer la instalación automática.
Empecé por bajar el paquete .zip Noinstall de la pagina oficial de Mysql. Una vez descomprimido este archivo en la carpeta de instalaciones (Archivos de programa\Mysql, por ejemplo) quedará listo para seguir con la instalación del servicio y configuraciones iniciales de la base. Esto lo hice con in archivo .bat el cual contiene lo siguiente.
Instala el servicio Mysql (lo instala en modalidad de arranque automático al iniciarse el sistema)
C:\(Carpeta de instalación mysql)\bin>mysqld -- install
Lo siguiente es arrancar el servicio desde la linea de comando, pero antes de eso se necesita tener un archivo de configuración. Éste por default Mysql lo busca en la carpeta donde está instalado. Como referencia, debe de ir en la ubicación donde están unos archivos .ini que deja de ejemplo la instalación. Aquí lo que hice es que tomé el ini que generó una instalación con el asistente que tenia en otro equipo, si no se puede usar cualquiera de los de ejemplo, solo renombrandolo a my.ini. Posiblemente haya que reapuntar algunas rutas en el .ini hacia la carpeta donde están los archivos de Mysql.
Ahora si, arrancar el servicio con el comando NET
C:\(Carpeta de instalación mysql)\bin>NET START MYSQL
Si no arranca puede probarse con la instrucción mysqld — console . Esta ejecución genera mensajes de error si es que los hay.
A este punto ya tenemos listo nuestro servidor Mysql. Pero faltan las configuraciónes de acceso de usuarios, porque el server de inicio deja la base con el acceso anónimo activado y aparte nos deja el usuario root sin password. Esto se hace con las siguientes instrucciones:
delete from mysql.user where host = 'localhost' and user = '';
update mysql.user set password = password('nuevopwd') where user = 'root';
flush privileges;
Estas lineas las dejé al principio del script .sql que uso para crear la base de datos e insertar los datos iniciales, el cual mando ejecutar desde el .bat de la siguiente manera:
C:\(Carpeta de instalación mysql)\bin>mysql -u root < "(ruta\del\archivo)script.sql
Y con esto ya está completo el .bat que instala y configura la base de datos.
Para generar el archivo de instalación que copia el Noinstall, ejecuta el .bat e instala los archivos necesarios para que la aplicación corra, primero intenté con InstallShield con no muy buenos resultados, entonces opté por Inno Setup una solucion OpenSorce que recomiendo ampliamente por su legereza y facil configuración. Una vez mas el software libre salvando mi traserín.
Basado en la documentación en linea de Mysql.






Hola estoy haciendo justo lo mismo, pero no tengo mucha experiencia. de que archivo .bat hablas? lo hiciste paquete??? lo que hiciste fue instalar la carpeta en el cliente y con el my.ini y correr el mysqld.exe? a eso te refieres con arrancar el comando .net?
Perdona tantas preguntas y te agradezco de antemano tu atencion.
Muchisimas gracias compadre… estoy apenas leyendo tu post pero es exactamente el problema que me a estado aquejando hace un rato… espero que con esto quede… pero me haz dado un super nortazoo …. geacias!!!