Installation, configuration et utilisation de Linux-mycat

1. Téléchargez et décompressez mycat

2. Vérifiez la structure du répertoire mycat
[root @ aliyun-ecs mycat] # ll
total 24
racine racine drwxr-xr-x 2 4096 18 avril 10:28 bin
drwxrwxrwx 2 racine racine 4096 22 octobre 21:26 catlet
drwxrwxrwx 4 racine racine 4096 février 22h21 la conf. 9
drwxr XR-2 X-18 est la racine de la racine 4096 avril 10h28 lib
drwxrwxrwx la racine 2 23h04 le 16 janvier 4096 journaux la racine
-rwxrwxrwx la racine. 1. 9 le févr 22:22 version.txt la racine 227
que sur les structures complété macategorie À propos, notez que mycat est développé en langage java.
L'installation de mycat nécessite donc un environnement jdk

3. Configurer mycat
  3.1 Modifier wrapper.conf
  [root @ aliyun-ecs mycat] # vim conf / wrapper.conf Dans
 un environnement informel, modifiez les deux paramètres suivants à 256 Mo, sinon la mémoire
 avant la modification sera insuffisante :
 wrapper.java.additional.10 = -Xmx4G
 wrapper.java.additional.11 = -Xms1G
 après modification:
 wrapper.java.additional.10 = -Xmx256M
 wrapper.java.additional.11 = -Xms256M

 3.2 Configurer server.xml
 [root @ aliyun-ecs mycat] # vim conf / server.xml
 ajouter un utilisateur mycat: scwyfy
 et définir la bibliothèque logique correspondante: admin_db, order_db, product_db
 <user name = "scwyfy">
  <property name = "mot de passe"> 123456 </ property>
  <property name = " schemas "> admin_db , order_db, product_db </ property>
  <property name = "readOnly"> true </ property>
 </ user>


 3.3 Configurer le schéma de
       configuration schema.xml -> table-> dataNode-> dataHost-> writeHost-> readHost

 [root @ aliyun-ecs mycat] # vim conf / schema.xml

 <! - nom: configurez la bibliothèque logique correspondante pour l'utilisateur mycat nouvellement ajouté->
 <schema name = " admin_db " checkSQLschema = "false" sqlMaxLimit = "100">
  <! - partitionnement automatique par id (long): Plage conventionnelle 0-1k = 0 1k-10k = 1 10k-100k = 2-> 
       <! - Nom: nom de la table de données->
       <! - DataNode: nœud réel où la table de données est stockée (serveur réel + base de données) ->
      <table name = "travelrecord" dataNode = "dn1, dn2, dn3" rule = "auto-sharding-long" />

  <! - la table globale est clonée automatiquement sur tous les nœuds de données définis, donc peut se joindre à n'importe quelle table dont le nœud de partage se trouve dans le même nœud de données ->
  <table name = "company" primaryKey = "ID"  type = "global"  dataNode = "dn1, dn2, dn3" />

  <! - partitionnement aléatoire en utilisant la règle mod sharind->
  <table name = "hotnews" primaryKey = "ID" autoIncrement = "true" dataNode = "dn1, dn2, dn3" rule = "mod-long" />
       
        <!
       --Les données de table configurées avec une relation de table de contingence sont stockées sur le même fragment- > <nom de la table = "client" primaryKey = "ID" dataNode = "dn1, dn2" rule = "sharding-by-intfile">
     <! -Associer le client_id de la table des commandes à l'id de la table client, de sorte que lorsque la table des commandes est insérée, il déterminera d'abord quel fragment le client_id est activé, puis insérera les données dans le fragment
      afin que les données associées soient stockées dans un fragment Le but
    de-
> <childTable name = "commandes" primaryKey = "ID" joinKey = "customer_id"   parentKey = "id">      <childTable name = "order_items" joinKey = " order_id
"   parentKey = "id "/>     </childTable>

    <childTable name = "customer_addr" primaryKey = "ID" joinKey = "customer_id" parentKey = "id" />
  </table>
 </schema>

 <! - 配置 数据 节点 信息 ->
 <dataNode name = "dn1" dataHost = "localhost1" database = "db1" />
<dataNode name = "dn2" dataHost = "localhost1" database = "db2" />
< dataNode name = "dn3" dataHost = "localhost1" database = "db3" />

 <! - Configurer les informations du serveur de base de
 données- > <dataHost name = "localhost1" maxCon = "1000" minCon = "10" balance = "0"
  writeType = "0" dbType = "mysql" dbDriver = "native" switchType = "1" slaveThreshold = "100">
   <! - Utilisé pour détecter le rythme cardiaque->
   <rythme cardiaque> sélectionner l'utilisateur () </ rythme cardiaque>

  <! - peut avoir plusieurs hôtes d'écriture: 配置 写 库 ->
  <writeHost host = "hostM1" url = "localhost: 3306" user = "root" password = "123456">
    <! - peut avoir plusieurs hôtes de lecture : 配置 从 库 ->
    <readHost host = "hostS2" url = "192.168.1.200:3306" user = "root" password = "xxx" />
  </writeHost>
</dataHost>


 

Je suppose que tu aimes

Origine www.cnblogs.com/yuefeng123/p/12724969.html
conseillé
Classement