Déployer 1 cluster MySQL avec 2 commandes

juillet 16, 2019

Dans cette courte vidéo, je vais te montrer comment créer un cluster MySQL de 3 nœuds avec simplement 2 commandes.

Articles liés

Ressources

Thanks for using MySQL!

Follow me on twitter

Watch my videos on my YouTube channel and subscribe.

My Slideshare account.

My Speaker Deck account.

Thanks for using MySQL!

5 Responses to “Déployer 1 cluster MySQL avec 2 commandes”

  1. Encore une excellente preuve de la puissance de MySQL 😉

    Olivier est-il possible de gérer un cluster innodb (group replication, configuré via les fichiers de conf et qui fonctionne très bien) déjà en production avec mysql shell. J’ai essayé différentes commandes mais j’ai systématiquement des messages d’erreurs me disant que l’instance est « unmanaged » et que la function n’est pas disponible :(.

    Merci d’avance pour vos conseils.

  2. Hello,
    normalement oui 🙂
    J’ai un tuto en 5.7:
    http://dasini.net/blog/2017/04/10/adopte-un-cluster-mysql-group-replication/
    Mais il doit dater un peu…

    Voici le lien de la doc qui devrait t’aider:
    https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-from-group-replication.html

    Olivier

  3. Voici un exemple avec la version 8.0:

    $ mysqlsh root@localhost:22213
    MySQL Shell 8.0.17

    Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
    Other names may be trademarks of their respective owners.

    Type ‘\help’ or ‘\?’ for help; ‘\quit’ to exit.
    Creating a session to ‘root@localhost:22213’
    Fetching schema names for autocompletion… Press ^C to stop.
    Your MySQL connection id is 33
    Server version: 8.0.17 MySQL Community Edition
    No default schema selected; type \use to set one.

    MySQL localhost:22213 ssl JS > var cluster = dba.createCluster(‘ic1’, {adoptFromGR: true});
    A new InnoDB cluster will be created based on the existing replication group on instance ‘localhost:22213’.

    Creating InnoDB cluster ‘ic1’ on ‘localhost:22213’…

    Adding Seed Instance…
    Adding Instance ‘127.0.0.1:22213’…
    Adding Instance ‘127.0.0.1:22214’…
    Adding Instance ‘127.0.0.1:22215’…
    Resetting distributed recovery credentials across the cluster…
    Cluster successfully created based on existing replication group.

    Ca marche nickel! 🙂

  4. Bonjour Olivier,

    Tout d’abord merci pour le partage de vos connaissances que j’exploite pour identifier une solution HA pour mon besoin.

    J’aurai quelques questions à propos du HA MySql:

    – sauf erreur de ma part il n’y a pas d’image docker officielle de mysql-shell, est-ce une contre indication de la part d’Oracle /MySql ?

    – dans votre vidéo le mysql-shell semble être installé en local (sur votre host docker) mais vos containers semblent pas d’exposer de ports sur le host. Du coup je me demande comment vous avez procédé ?

    – la soultion de MySQL Cluster CGE est-elle disponible avec la version community de MySql ou est-ce une offre commerciale ?

    Bonne soirée
    Laurent

  5. Bonjour Laurent,
    merci pour tes encouragements.

    Tu as raison, nous n’avons pas construit d’image docker MySQL Shell.
    Pas de raisons particulières à ma connaissance.
    Quel est le besoin ?

    Effectivement je ne suis pas obligé d’avoir MySQL Shell sur les instances MySQL, même si je recommande de déployer MySQL Shell systématiquement avec les instances MySQL.
    En fait dans ce cas précis j’utilise mon fichier /etc/hosts qui fait le mapping entre le nom des instances MySQL Docker et leur adresses IP
    ex:
    172.19.0.11 mysql_8.0_node1
    172.19.0.12 mysql_8.0_node2
    172.19.0.13 mysql_8.0_node3

    MySQL Cluster CGE c’est la version commerciale de MySQL NDB Cluster qui est donc le pendant communautaire, open source
    https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster.html

    Cette version open source existe également en image Docker:
    https://hub.docker.com/r/mysql/mysql-cluster

    Olivier