Descargamos el archivo zip ▶ aquí
Ya esta seleccionado el archivo.

Solo damos clic en donde está señalado en la siguiente ilustración y comenzará la descarga.

Extraemos el contenido del archivo zip en el directorio deseado.
En esta guía lo vamos a descomprimir en la raíz del disco C y todos los archivos estarán dentro de la carpeta que nombraremos MySQL8

Para especificarle opciones al servidor durante su inicio podemos hacerlo desde la línea de comandos pasandole como argumento las diferentes opciones que puedes encontrar en la documentación oficial o bien colocando las opciones en un archivo de opciones (lo recomendado). Aquellas opciones se usarán cada vez que se inicie el servidor, esto es especialmente necesario en las siguiente circuntancias:
Un archivo de opciones se utiliza para que MySQL lea los parámetros declarados dentro del archivo de opciones y pueda iniciar el servidor de base de datos con las configuraciones que deseamos.
El archivo dentro tiene una sección exclusiva para el las opciones del servidor [mysqld] donde podremos definir la siguiente párametros que nos interesa:
basedir: el directorio base de instalación. (En nuestro caso el directorio base de ejemplo es C:\MySQL8)
datadir: la ubicación del directorio de datos. (Este se crea por defecto dentro del directorio base de instalación cuando inicializamos por primera vez el servidor, por ende es importante crear un archivo de opciones previamente para establecer donde queremos que se cree este directorio de datos).
Creaamos un nuevo archivo dentro del directorio base de la instalación y lo vamos a nombrar my.ini

Este archivo puede modificarse con cualquier editor de texto, como el bloc de notas.

En la sección [mysqld] asignaremos los valores que tendrán los parámetros basedir y datadir que serán las rutas de destino en nuestro sistema.
[mysqld]
basedir=<PATH>
datadir=<PATH>

Si quieres ver más sobre las opciones para [mysqld] ve a la documentación oficial
Aquí están algunas opciones que tengo definidas en el archivo:
[client]
port=3306
socket=/temp/mysql.shock
[mysqld]
basedir=C:/MySQL8
datadir=C:/data
port=3306
socket=/temp/mysql.shock
key_buffer_size=16M
max_allowed_packet=8M
[mysqldump]
quick
Sin embargo no es relevante, porque lo importante son datadir y basedir, el puerto y las demás opciones vienen por defecto.
Si la carpeta que hemos definidos para los datos no existe, la creará por nosotros, pero si debe existir el destino de ruta que hemos indicado.
Hecho lo anterior para inicializar una instalación de MySQL, en caso de que no hayamos creando el archivo de opciones, se creara un directorio data dentro del directorio de instalación y dentro de ese directorio se crearan las bases de datos del sistema llenando las tablas del sistema mysql.
Para iniciar la instalación de MySQL nos situamos dentro del directorio raíz y abrimos una consola. Luego ejecutamos el siguiente comando:
mysqld --initialize o --initialize-insecure.

Este comando hace lo siguiente:
Ahora podemos iniciar el servidor con el comando:
mysqld --console

Al permitir el acceso del firewall del sistema, nos debe mostrar el siguiente mensaje al ejecutarse.

La opción --console es para ver el log en la línea de comandos y nos debe indicar que se encuentra listo para recibir conexiones entrantes.
En caso que el destino para las bases de datos es otro, debe copiar todo el contenido del directorio data en la nueva ubicación. Por ejemplo, si desea utilizarlo C:\mydata como directorio de datos, puede hacer dos cosas:
Mueva todo el directorio data y todo su contenido desde la ubicación predeterminada. Por ejemplo C:\Path\installation\data a C:\mydata y luego detiene el servidor, realiza los cambios en el archivo de opciones y se vuelve a iniciar el servidor.
Utilice una opción --datadir para especificar la nueva ubicación del directorio de datos cada vez que inicie el servidor. Ej:
mysqld --datadir 'path\your\data'

Independiente de la configuración que hemos dado para conectarnos al servidor, primero que nada debemos inicializarlo, y luego conectarnos como clientes, dentro de la carpeta data se encuentra un archivo llamado con el nombre de tu equipo y la extensión .err abrimos ese archivo con el bloc de nota y buscamos el password generado para el usuario root de manera temporal:

Copiamos el password aleatorio que se generó

Nos movemos a la carpeta bin, podemos hacerlo abriendo una consola y usar el comando:
cd bin
LLamamos al programa mysql y le pasamos los argumento para conectarnos
Pegamos el password aleatoriao cuando nos solicite.

Ahora la primera tarea antes de comenzar a manipular bases de datos, será cambiar el password de nuestro usuario root. De hecho si intentamos ejecutar un comando sql nos va a requerir esta acción.

El comando ALTER USER modifica las cuentas de MySQL. Permite modificar las propiedades de autenticación, SSL/TLS, límite de recursos y administración de contraseñas para las cuentas existentes.
Para cada cuenta afectada, ALTER USER modifica la fila correspondiente en la tabla mysql.user del sistema.
Sintaxis, para cambiar el password para el usuario conectado
ALTER USER USER() IDENTIFIED BY 'proPassword123';
La función USER() hace referencia a su propia contraseña sin tener que nombrarla literalmente (ejemplo; root@localhost). A continuación hemos dado un password al usuario root con el que nos conectamos con la contraseña generada temporalmente por el servidor al momento de su instalación.

Ahora recargamos la tabla de privilegios con el siguiente comando:
FLUSH PRIVILEGES;
Ahora ya podemos conectarnos con la nueva contraseña que hemos asignado, podemos consultar en la tabla de usuario y el complemento de autenticación con el siguiente comando:
SELECT user, plugin FROM mysql.user;

Adicionalmente, podemos establecer esta ruta de donde lanzamos el servidor como variable de entorno para que nos resulte más comodo lanzar el servidor desde cualquier ubicación. Con el siguiente comando podemos establecer la ruta de instalación de MySQL a la variable path del usuario:
En CMD:
SETX PATH "%path%;"C:\MySQL8\bin\
Cerramos la ventana de CMD y abrimos una nueva
Para invocar a mysql en CMD o PowerShell:
mysql -u root -p
Nos posicionamos dentro del directorio de instalación e ingresamos a la carpeta bin y ejecutamos los siguientes comandos. Para llevar a cabo estos pasos es necesario abrir la sesión de CMD con privilegios de administrador.
El siguiente comando es para asegurarte de no tener ninguna instancia del servidor corriendo actualmente.
mysqladmin.exe -u root shutdown
El siguiente comando registra MySQL como servicio.
:: Se registra con el nombre pasado como argumento.
:: Ej mysqld --install "MySQL8"
:: De lo contrario solo con el nombre MySQL por defecto.
mysqld --install

Ahora ya podemos iniciar el servicio o detenerlo desde la línea de comandos, pero para llevar a cabo el proceso tenemos que abrir una nueva ventana como administrador.
Iniciar el servicio con el comando net
net start MySQL
Detener el servicio con el comando:
net stop MySQL

Eliminar el servicio
sc delete "MySQL"
Si quieres apoyarme te agradecería un simple café 🍵