MySQL Cluster est une version très pratique, évolutive, hautes performances et haute redondance de MySQL, adaptée aux environnements informatiques distribués. recherche et développement L'intention initiale de la conception est de répondre aux exigences d'application les plus strictes dans de nombreuses industries. Ces applications nécessitent souvent une fiabilité de fonctionnement de la base de données atteignant 99,999 %. MySQL Cluster permet le déploiement de clusters de bases de données « en mémoire » dans des systèmes sans partage. Grâce à l'architecture sans partage, le système peut utiliser du matériel bon marché et n'a aucune exigence particulière en matière de logiciels et de matériel. De plus, étant donné que chaque composant possède sa propre mémoire et son propre disque, il n’existe aucun point de défaillance unique.
En fait, MySQL Cluster intègre un moteur de stockage de cluster de mémoire appelé NDB avec le serveur MySQL standard. Il se compose d'un ensemble d'ordinateurs, chacun exécutant un ou plusieurs processus, pouvant inclure un serveur MySQL, un nœud de données, un serveur de gestion et un programme propriétaire d'accès aux données.
Le cluster MySQL a la capacité de configurer le moteur de stockage NDB avec une variété d'options de basculement et d'équilibrage de charge, mais il est plus simple de le faire sur le moteur de stockage au niveau du cluster. Voici le diagramme de structure du cluster MySQL,
MySQL est composé de trois types de nœuds (ordinateurs ou processus) d'un point de vue structurel , à savoir :
Nœud de gestion : utilisé pour fournir la configuration, la gestion, l'arbitrage et d'autres fonctions pour les autres nœuds de l'ensemble du cluster. En théorie, il suffit de fournir des services via un seul serveur.
Nœud de données : le cœur du cluster MySQL, qui stocke les données et les journaux et fournit divers services de gestion des données. Lorsqu'il y a plus de 2 nœuds, la garantie de haute disponibilité du cluster peut être obtenue. Lorsque le nombre de nœuds de base de données augmente, la vitesse de traitement du cluster ralentit.
Nœud SQL (API) : utilisé pour accéder aux données du cluster MySQL et fournir des services d'application externes. L'ajout de nœuds API améliorera la vitesse d'accès simultané et le débit global de l'ensemble du cluster. Le nœud peut être déployé sur le serveur d'applications Web, sur un serveur dédié ou sur le même serveur que la base de données.
2 Moteur NDB
MySQL Cluster utilise un moteur de stockage NDB dédié basé sur la mémoire. L'avantage est qu'il est rapide et n'a pas de goulot d'étranglement d'E/S de disque. , mais comme elle est basée sur la mémoire, la taille de la base de données est limitée par la mémoire totale du système si le serveur MySQL exécutant NDB doit disposer d'une mémoire suffisamment grande, comme 4G, 8G ou même 16G. Le moteur NDB est distribué et peut être configuré sur plusieurs serveurs pour assurer la fiabilité et l'évolutivité des données. En théorie, en configurant deux nœuds de stockage NDB, la redondance de l'ensemble du cluster de bases de données et le problème du point de défaillance unique peuvent être résolus.
2.1 Défauts
En fonction de la mémoire, la taille de la base de données est limitée par la taille totale de la mémoire du cluster
En fonction de la mémoire, des données peuvent être perdues après une panne de courant. Cela doit être vérifié par des tests.
Plusieurs nœuds mettent en œuvre la communication, la synchronisation des données, les requêtes et d'autres opérations via le réseau, de sorte que l'intégrité est affectée par la vitesse du réseau,
La vitesse est donc également relativement lente
2.2 Avantages
Plusieurs nœuds peuvent être distribués dans différents emplacements géographiques, c'est donc également une solution pour mettre en œuvre une base de données distribuée.
L'évolutivité est très bonne et le cluster de bases de données peut être étendu en ajoutant des nœuds.
La redondance est très bonne. Il existe des données de base de données complètes sur plusieurs nœuds, donc tout temps d'arrêt de nœud n'entraînera pas d'interruption de service.
Le coût de mise en œuvre de la haute disponibilité est relativement faible. Contrairement aux solutions de haute disponibilité traditionnelles qui nécessitent des périphériques de stockage partagés et des logiciels dédiés, NDB peut être mis en œuvre tant qu'il y a suffisamment de mémoire.
2. Construction du cluster
Un système de cluster MySQL le plus simple sera construit. Toutes les commandes de la méthode de configuration sont exécutées en tant que compte root. Ce cluster MySQL contient un nœud de gestion, deux nœuds de données et deux nœuds SQL. Ces cinq nœuds seront installés respectivement sur cinq machines virtuelles. Les noms et adresses IP des machines virtuelles sont les suivants :
.
Nœud de gestion
mysql-mgm
192.168.124.141
Nœud de données1
mysql-ndbd-1
192.168.124.142
Nœud de données2
mysql-ndbd-2
192.168.124.143
SQLNœud1
mysql-sql-1
192.168. 124.144
SQLNœud2
mysql-sql-2
192.168.124.145
>
Veuillez configurer les éléments de configuration ici sur les trois machines virtuelles respectivement. 1. Installez la machine virtuelle
Le système d'exploitation de la machine virtuelle installe la version x86_64 de CentOS 6.4, utilise le réseau NAT et installe également vmware-tools. la méthode d'installation spécifique est ici Non détaillée ici.
2. Copiez le cluster mysql
Téléchargez la version suivante de MySQL-Cluster :
http://www.php.cn/Copiez le package compressé téléchargé dans le répertoire /root/Downloads de la machine virtuelle, puis exécutez la commande suivante dans le shell :
cd /root/Downloads
tar -xvzf mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64 /usr/local/mysql
Copier après la connexion
3. Désactivez la politique de sécurité
chkconfig --level 35 iptables off
Copier après la connexion
Désactivez la politique de sécurité. désactivez le pare-feu iptables (ou activez le pare-feu 1186, 3306 ports), exécutez la commande suivante dans le Shell :
gedit /etc/selinux/config
Copier après la connexion
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Copier après la connexion
Désactivez SELinux et exécutez la commande suivante dans le Shell :
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
gedit config.ini
Installez le nœud de gestion, aucun fichier binaire mysqld n'est requis. Seuls le programme serveur MySQL Cluster (ndb_mgmd) et le programme client d'écoute (ndb_mgm) sont requis. Exécutez la commande suivante dans le shell :
Connected to Management Server at: localhost:1186
2 NDB Cluster node(s) have shutdown.
Disconnecting to allow management server to shutdown.
Copier après la connexion
Copier après la connexion
<🎜><🎜><🎜>4. Configurer les nœuds SQL (<🎜><🎜>192.168.124.144 <🎜><🎜>, 192.168.124.145) <🎜><🎜><🎜><🎜><🎜>1. Ajoutez un groupe mysql et un utilisateur <🎜><🎜><🎜>Exécutez la commande suivante dans le shell : <🎜>
shell> /etc/init.d/mysql.server stop
Shutting down MySQL... SUCCESS!
Copier après la connexion
Copier après la connexion
<🎜><🎜><🎜><🎜><🎜>< 🎜>2. Configurez le fichier de configuration my.cnf<🎜 ><🎜><🎜>Exécutez la commande suivante dans le shell : <🎜>
<🎝><🎜 ><🎜><🎜><🎜><🎜>Le contenu du fichier de configuration my.cnf est le suivant : <🎜>
<🎝><🎜><🎜><🎜><🎜><🎜><🎜>3. Créez la base de données système <🎜> <🎜><🎜>Exécutez la commande suivante dans le shell : <🎜>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.
Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.
Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.
La copie d'une table dans MySQL nécessite la création de nouvelles tables, l'insertion de données, la définition de clés étrangères, la copie des index, les déclencheurs, les procédures stockées et les fonctions. Les étapes spécifiques incluent: la création d'une nouvelle table avec la même structure. Insérez les données de la table d'origine dans une nouvelle table. Définissez la même contrainte de clé étrangère (si le tableau d'origine en a un). Créer le même index. Créez le même déclencheur (si le tableau d'origine en a un). Créez la même procédure ou fonction stockée (si la table d'origine est utilisée).
NAVICAT pour MARIADB ne peut pas afficher directement le mot de passe de la base de données car le mot de passe est stocké sous forme cryptée. Pour garantir la sécurité de la base de données, il existe trois façons de réinitialiser votre mot de passe: réinitialisez votre mot de passe via Navicat et définissez un mot de passe complexe. Affichez le fichier de configuration (non recommandé, haut risque). Utilisez des outils de ligne de commande système (non recommandés, vous devez être compétent dans les outils de ligne de commande).
Affichez la base de données MySQL avec la commande suivante: Connectez-vous au serveur: MySQL -U Username -P mot de passe Exécuter les bases de données Afficher les bases de données; Commande pour obtenir toutes les bases de données existantes Sélectionnez la base de données: utilisez le nom de la base de données; Tableau de vue: afficher des tables; Afficher la structure de la table: décrire le nom du tableau; Afficher les données: sélectionnez * dans le nom du tableau;
Copier et coller dans MySQL incluent les étapes suivantes: Sélectionnez les données, copiez avec Ctrl C (Windows) ou CMD C (Mac); Cliquez avec le bouton droit à l'emplacement cible, sélectionnez Coller ou utilisez Ctrl V (Windows) ou CMD V (Mac); Les données copiées sont insérées dans l'emplacement cible ou remplacer les données existantes (selon que les données existent déjà à l'emplacement cible).
Étapes pour effectuer SQL dans NAVICAT: Connectez-vous à la base de données. Créez une fenêtre d'éditeur SQL. Écrivez des requêtes ou des scripts SQL. Cliquez sur le bouton Exécuter pour exécuter une requête ou un script. Affichez les résultats (si la requête est exécutée).