Acabo de instalar MySQL 5.7 en Windows 2012 VM. Estoy tratando de crear y ejecutar varias instancias, pero estoy muy frustrado de que algo tan simple no funcione.
Instalé MySQL en C: \ Archivos de programa \ MySQL \ MySQL Server 5.7, que es la ubicación predeterminada y luego copié la carpeta e hice otra copia para crear otra instancia (¿supongo que así es como funciona?)
Ambas instancias de MySQL se muestran en la imagen a continuación.
La configuración INI para ambos servidores se detalla a continuación:
Servidor 1
server-id = 1
log-bin = "mysql-bin"
binlog-ignore-db = prueba
binlog-ignore-db = information_schema
replicate-ignore-db = prueba
replicate-ignore-db = information_schema
relay-log = "mysql-relay -log "
auto-increment-increment = 2
auto-increment-offset = 1
Server2
server-id = 2
log-bin = "mysql-bin"
binlog-ignore-db = prueba
binlog-ignore-db = information_schema
replicate-ignore-db = prueba
replicate-ignore-db = information_schema
relay-log = "mysql- relé-registro "
auto-increment-increment = 2
auto-increment-offset = 2
Estoy ejecutando ambos servidores abriendo el símbolo del sistema y escribiendo lo siguiente:
"C: \ Archivos de programa \ MySQL \ MySQL Server 5.7 \ bin \ mysqld"
"C: \ Archivos de programa \ MySQL \ MySQL Server 5.7 - 2 \ bin \ mysqld"
El comando parece ejecutarse con éxito ya que no se muestra ningún error, pero cuando miro el administrador de tareas para ver si algún proceso mysql se está ejecutando, no veo ninguno.
¿Qué estoy haciendo mal?
fuente
Respuestas:
Creo que estabas intentando ejecutarlos en el mismo puerto.
Cambiar los números de los puertos para que sean diferentes fue lo que lo hizo funcionar
fuente
El error que estaba cometiendo fue copiar toda la carpeta de instalación de MySQL. No necesita copiar esta carpeta.
Por supuesto, en cada archivo ini, debe definir un número de puerto diferente como lo menciona @Anthony Fornito.
fuente
Cree un nuevo archivo en el directorio de datos llamado mysql-init.txt y agregue una sola línea para asegurarse de que la contraseña del usuario raíz esté establecida.
ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
Edite el archivo my.ini cambiando el puerto, el socket, el datadir y el nombre base de la memoria compartida. Todo lo cual debe ser diferente de otras instancias de MySQL.
my.ini:
Desde la línea de comandos, vaya a ~ \ MySQL Server XY \ bin \ y ejecute
mysqld --install MySQL57-2 --defaults-file=E:\mysql2\data\my.ini --init-file=E:\mysql2\data\mysql-init.txt
Inicia el servicio
NET START MySQL57-2
Verifique para asegurarse de que el servicio se inició correctamente. Si no fue así, puede encontrar un registro de errores en la carpeta de datos, de lo contrario, debería estar listo.
fuente