¡Lencería! Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

antecedentes

Recientemente, estoy aprendiendo a usar Spring Aop para darme cuenta de la función de separación de lectura y escritura de la base de datos.

Antes de escribir el código, lo primero que debe hacer es implementar el entorno MySQL. Debido a la separación de lecturas y escrituras, se deben implementar al menos dos instancias de mysql, una maestra y una esclava, y las instancias maestra y esclava se pueden sincronizar automáticamente, porque mi máquina nativa La memoria no es alta, por lo que planeo construir una instancia maestro-esclavo de mysql directamente en Windows (no quiero abrir una máquina virtual), pero se encontraron algunos problemas en este proceso. Aunque se resolvió al final, tomó mucho tiempo. Para evitar perder tiempo en las mismas cosas en el futuro y para que sea más fácil para todos replicar las mismas escenas, compartamos el proceso de configuración del entorno hoy.

Descripción ambiental

Dirección local: 127.0.0.1 (localhost)

versión de mysql: mysql-5.7.28-winx64

Nombre del servicio de biblioteca principal: maestro, puerto 3307

Nombre del servicio esclavo: esclavo, puerto 3308

Instalar y configurar la biblioteca maestra maestra

descargar

La primera es descargar mysql e ir directamente al sitio web oficial para descargar la versión zip del paquete de instalación. Se recomienda descargar una versión relativamente nueva, por ejemplo, la versión del autor es 5.7. Esta es también la sugerencia de muchos grandes dioses en Internet.

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Descomprima y cree el archivo my.ini

Descomprima el paquete de instalación, nombre la carpeta master, ingrese la carpeta y cree un texto vacío llamado my.ini,

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

El contenido del texto es el siguiente:

[client]
# 端口号,默认是3306,同一个环境下不同的mysql实例端口号不能相同
port=3307
default-character-set=utf8
[mysqld] #主库配置server_id=1
log_bin=master-binlog_bin-index=master-bin.index# 设置为自己MYSQL的安装目录basedir=D:/software/mysql/master
# 设置为MYSQL的数据目录,data文件夹由mysql自动生成datadir=D:/software/mysql/master/data
port=3307
character_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER# 开启查询缓存explicit_defaults_for_timestamp=true

ps: La dirección del directorio en el contenido de configuración debe usar una barra, no una barra invertida, de lo contrario, el servicio de instalación informará un error de que no se puede encontrar el directorio.

Instalar el servicio de la biblioteca maestra

1. Ejecute como administrador cmd, ingrese al directorio bin del maestro,

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

2. Ejecute el comando de inicialización:

mysqld --initialize --user=mysql --console

Si aparece una actualización similar a la siguiente, la inicialización es exitosa y el sistema generará automáticamente la carpeta de datos y generará la contraseña inicial si la inicialización es exitosa.

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

3. Una vez completada la inicialización, ejecute el comando para instalar el servicio:

mysqld --install master --defaults-file="D:\software\mysql\master\my.ini" 

master es el nombre del servicio, --defaults-file es la ruta del archivo ini y "Servicio instalado correctamente" significa éxito

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Nota: Si la instalación falla, verifique si no hay ningún administrador para ejecutar cmd.

Normalmente, podemos iniciar mysql después de instalar el servicio maestro, sin embargo hay un pit, es decir, se informará un error después de mysql directamente, porque todavía tenemos una configuración menos, que es la información del servicio maestro en el registro.

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Por lo tanto, se recomienda no ejecutar el comando de inicio antes de modificar el registro.

4. Modificar el registro

Presione win + R, ingrese regedit en el cuadro emergente para abrir el registro, busque el servicio maestro, la ruta es HKEY_LOCAL_MACHINE–> SYSTEM–> CurrentControlSet–> Services–> master , modifique ImagePath para

D:\software\mysql\master\bin\mysqld --defaults-file=D:\software\mysql\master\my.ini master

La ruta corresponde a la carpeta de la base de datos maestra que instaló.

5. Inicie el servicio

Aún ejecute el servicio de inicio en el directorio bin, el comando es net master start y aparecerá el siguiente mensaje después de un inicio exitoso:

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

6. Ingrese mysql

El comando para ingresar a mysql es: mysql -u root -p  , pero debido a que cambiamos el número de puerto, el comando debe cambiarse a mysql -u root -P3307 -p , y luego ingrese la contraseña de inicialización recién generada para ingresar a mysql.

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Dado que esta contraseña inicial es demasiado dolorosa, será mejor que cambiemos la contraseña, la declaración de cambio es:

set password=password('新密码');

Por ejemplo, la contraseña establecida por LZ es 123456,

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

De esta manera, la contraseña del usuario root se establece con éxito, y luego podemos usar herramientas gráficas como Navicat para operar y conectarnos a la base de datos.

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Instalar esclavo de la biblioteca

Los pasos de instalación de la biblioteca esclava son los mismos que los de la biblioteca principal, excepto que puede modificar la configuración correspondiente en my.ini.

[client]
port=3308
default-character-set=utf8
[mysqld] #从库配置server_id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
# 设置为自己MYSQL的安装目录 basedir=D:/software/mysql/slave# 设置为MYSQL的数据目录 datadir=D:/software/mysql/slave/dataport=3308
character_set_server=utf8sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER#开启查询缓存explicit_defaults_for_timestamp=true

Biblioteca maestro-esclavo para lograr la asociación

Una vez instaladas las dos bibliotecas, podemos operar la asociación entre las bibliotecas maestra y esclava para realizar la replicación entre la maestra y la esclava,

Inicie sesión en la biblioteca principal primero, ingrese show master status;

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Se puede encontrar que se genera un archivo binario en la biblioteca principal, que es un archivo de registro, y la sincronización con la biblioteca principal se puede realizar asociándolo desde la biblioteca.

Inicie sesión desde la biblioteca, ejecute el siguiente comando,

change master to master_host='127.0.0.1',master_port=3307,master_user='root',master_password='123456',master_log_file='master-bin.000001',master_log_pos=0;

No es difícil ver que lo anterior es la información de configuración de la biblioteca maestra. Después de tener éxito, ejecute el comando start slave para habilitar la replicación maestro-esclavo

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Después de la finalización, simplemente verificamos, creamos una base de datos en la biblioteca maestra, el nombre es prueba,

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

Luego, la misma prueba de base de datos también se genera en el esclavo,

¡Lencería!  Cree un entorno de replicación maestro-esclavo MySQL para compartir en el sistema Windows

De esta manera, la replicación maestro-esclavo se realiza con éxito.

posdata

Vale la pena señalar que, debido a que las dos bibliotecas están relacionadas en un solo sentido, si escribe datos en la biblioteca esclava, la biblioteca maestra no se puede sincronizar. Por lo tanto, la biblioteca esclava solo se puede usar para leer datos, mientras que la biblioteca principal puede escribir y leer. Por supuesto, en la mayoría de los casos, se usa para escribir datos. Los datos de lectura generalmente se obtienen de la biblioteca, lo que puede reducir de manera efectiva la capacidad de la biblioteca principal. El estrés es lo que a menudo llamamos separación entre lectura y escritura.

Si te gusta el artículo, dale me gusta, comenta y reenvía, presta atención al editor, el editor de seguimiento traerá una actualización de contenido de aprendizaje más rica, espero que a todos les guste ~~~

Supongo que te gusta

Origin blog.csdn.net/Java_msb666/article/details/108646826
Recomendado
Clasificación