Mycat establece la separación de lectura y escritura de Mysql

1. Trabajo de preparación:
Dirección de descarga:
http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
http://dl.mycat.org.cn/2.0/1.21 -release/

archivo descargado:
Insertar descripción de la imagen aquí
descomprima el archivo mycat2-install-template-1.21, copie mycat2-1.21-release-jar-with-dependencies2022-5-5.jar en mycat\lib: 2.Insertar descripción de la imagen aquí
Modificación de la configuración de Mycat

1. Ubicación del archivo de configuración de Mycat:

Insertar descripción de la imagen aquí

Abra el archivo de configuración prototipoDs.datasource.json:

{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	"instanceType":"READ_WRITE",
	"maxCon":1000,
	"maxConnectTimeout":3000,
	"maxRetryCount":5,
	"minCon":1,
	// 数据源名称,不用修改
	"name":"prototypeDs",
	//数据库密码
	"password":"lll123",
	"type":"JDBC",
	//连接master数据库
	"url":"jdbc:mysql://localhost:3306/mysql?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
	//数据库用户名
	"user":"root",
	"weight":0
}

Una vez iniciado mycat, creará su propia biblioteca mycat para almacenar previamente cierta información que mycat necesita usar. Mycat se creará solo. Si la creación falla, puede crear manualmente la base de datos y luego iniciarla nuevamente .

1. Inicie mycat:

mycat install
mycat start
mycat status

2. Inicie sesión: inicie sesión en mycat, nombre de usuario predeterminado: contraseña de root: 123456
Insertar descripción de la imagen aquí
3. Cree una biblioteca lógica

Crear base de datos test_mycat en Mycat

create database test_mycat;

Insertar descripción de la imagen aquí

Una vez creada correctamente la biblioteca lógica, el archivo de configuración se genera automáticamente.
Insertar descripción de la imagen aquí

La biblioteca principal creó la base de datos correspondiente.

Insertar descripción de la imagen aquí

Abra el archivo test_mycat.schema.json

{
	"customTables":{},
	"globalTables":{},
	"normalProcedures":{},
	"normalTables":{},
	//逻辑库名,也是mysql中对应的物理数据库名
	"schemaName":"test_mycat",
	//集群
	"targetName":"mycatCluster",
	"shardingTables":{},
	"views":{}
}

Explicación:
customTables coloca la configuración de la tabla predeterminada de mycat.
globalTables coloca la configuración de la tabla global.
shardingTables coloca la configuración de la tabla fragmentada.
normalTables coloca la configuración de la tabla normal.

4. Configurar la fuente de datos

Inicie sesión en mycat con cmd o use la interfaz de línea de comando después de navegar para conectarse a mycat e ingrese:
Comando comentario para agregar la fuente de datos principal:

/*+ mycat:createDataSource{ "name" :"mycatWrite" , "url":"jdbc:mysql://localhost:3306/test_mycat?useSSL=false&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true","user":"root","password" :"ldst123"} */;

Agregar desde la fuente de datos:

/*+ mycat:createDataSource{ "name" :"mycatRead" , "url":"jdbc:mysql://localhost:3307/test_mycat?useSSL=false&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true","user":"root","password" :"ldst123"} */;

Insertar descripción de la imagen aquí

¡Compruebe si la fuente de datos maestro-esclavo se creó correctamente!

/*+ mycat:showDataSources{} */

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
El archivo de origen de datos maestro-esclavo generado después del éxito:
mycatEscribir
mycatWrite:

{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	"instanceType":"READ_WRITE",
	"maxCon":1000,
	"maxConnectTimeout":30000,
	"maxRetryCount":5,
	"minCon":1,
	"name":"mycatWrite",
	"password":"xxx123",
	"queryTimeout":0,
	"type":"JDBC",
	"url":"jdbc:mysql://localhost:3306/test_mycat?useJDBCCompliantTimezoneShift=true&useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&autoReconnect=true&useSSL=false",
	"user":"root",
	"weight":0
}

mycatLeer:

{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	//跟/*+ mycat:showDataSources{} */命令查到的库中属性值不一致?
	"instanceType":"READ_WRITE",
	"maxCon":1000,
	"maxConnectTimeout":30000,
	"maxRetryCount":5,
	"minCon":1,
	"name":"mycatRead",
	"password":"xxx123",
	"queryTimeout":0,
	"type":"JDBC",
	"url":"jdbc:mysql://localhost:3307/test_mycat?serverTimezone=Asia/Shanghai&useJDBCCompliantTimezoneShift=true&characterEncoding=UTF-8&useUnicode=true&autoReconnect=true&useSSL=false",
	"user":"root",
	"weight":0
}

5. Cree información de configuración del clúster.

/*! mycat:createCluster{"name":"mycatCluster","masters":["mycatWrite"],"replicas":["mycatRead"]} */

Consultar información del clúster:


/*+ mycat:showClusters{} */;

Insertar descripción de la imagen aquí
Una vez que el clúster se crea correctamente, se genera el archivo:

Insertar descripción de la imagen aquí

Ver el archivo mycatCluster.cluster

{
	"clusterType":"MASTER_SLAVE",
	"heartbeat":{
		"heartbeatTimeout":1000,
		"maxRetryCount":3,
		"minSwitchTimeInterval":300,
		"showLog":false,
		"slaveThreshold":0.0
	},
	"masters":[
		"mycatWrite"
	],
	"maxCon":2000,
	"name":"mycatCluster",
	"readBalanceType":"BALANCE_ALL",
	"replicas":[
		"mycatRead"
	],
	"switchType":"SWITCH"
}

6. Una vez finalizado, realice pruebas de funcionamiento en mycat.

Precauciones:

Al iniciar sesión en mycat2 usando cmd, los datos insertados en la tabla están confusos. Puede especificar el juego de caracteres al iniciar sesión:
Insertar descripción de la imagen aquí

Al iniciar sesión en mycat en cmd, use mysql -uroot -p en lugar de usar mysql
--default-character-set=utf8 -uroot -p123456 -P8066 para iniciar sesión
***

Supongo que te gusta

Origin blog.csdn.net/FORLOVEHUAN/article/details/128919007
Recomendado
Clasificación