Maison Opération et maintenance exploitation et maintenance Linux Configuration des systèmes Linux pour prendre en charge le développement de bases de données distribuées

Configuration des systèmes Linux pour prendre en charge le développement de bases de données distribuées

Jul 04, 2023 am 08:24 AM
开发 分布式数据库 linux配置

Configuration des systèmes Linux pour prendre en charge le développement de bases de données distribuées

Introduction :
Avec le développement rapide d'Internet, la quantité de données a considérablement augmenté et les exigences en matière de performances et d'évolutivité des bases de données sont également de plus en plus élevées. Les bases de données distribuées sont apparues comme une solution à ce défi. Cet article explique comment configurer un environnement de base de données distribuée sous le système Linux pour prendre en charge le développement de bases de données distribuées.

1. Installez le système Linux
Tout d'abord, nous devons installer un système d'exploitation Linux. Les distributions Linux courantes incluent Ubuntu, CentOS, Debian, etc., parmi lesquelles Ubuntu est un choix très populaire. Vous pouvez télécharger le fichier image depuis le site officiel et l'installer conformément à la documentation officielle.

2. Installez et configurez le système de gestion de base de données

  1. Installez d'abord un système de gestion de base de données, tel que MySQL ou PostgreSQL. En prenant Ubuntu comme exemple, vous pouvez installer MySQL via la commande suivante :
sudo apt-get update
sudo apt-get install mysql-server
Copier après la connexion
  1. Une fois l'installation terminée, démarrez le service de base de données et configurez-le pour qu'il démarre automatiquement au démarrage :
sudo systemctl start mysql
sudo systemctl enable mysql
Copier après la connexion
  1. Configurez les paramètres de la base de données système de gestion pour s’adapter à l’environnement distribué. Ouvrez le fichier de configuration MySQL /etc/mysql/mysql.conf.d/mysqld.cnf et modifiez les paramètres suivants : /etc/mysql/mysql.conf.d/mysqld.cnf,修改以下参数:
bind-address = 0.0.0.0
Copier après la connexion

该参数将允许其他计算机通过网络连接到该数据库管理系统。

  1. 重新加载MySQL的配置文件以使更改生效:
sudo systemctl reload mysql
Copier après la connexion

三、设置主节点和从节点
在分布式数据库中,通常存在主节点和从节点两种角色。主节点用于处理写入操作和数据的主要查询,而从节点用于复制主节点的数据,并处理读取操作请求。

  1. 首先,设置主节点。登录到MySQL控制台:
mysql -u root -p
Copier après la connexion

创建一个新的数据库用户,并为其授权主节点的读写权限:

CREATE USER 'user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Copier après la connexion
  1. 接下来,设置从节点。在从节点上执行与主节点相同的操作,创建一个与主节点相同的用户,并将该用户的权限设置为只读权限:
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
GRANT SELECT, SHOW VIEW ON *.* TO 'user'@'%';
FLUSH PRIVILEGES;
Copier après la connexion

四、配置并测试复制
在分布式数据库中,从节点通过复制主节点的数据来实现数据的一致性。下面介绍如何配置并测试复制。

  1. 在主节点上,编辑MySQL的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,添加以下参数:
server-id = 1
log_bin = /var/log/mysql/binlog
Copier après la connexion

这些参数将启用二进制日志记录,用于存储主节点的数据更改记录。

  1. 重启主节点的MySQL服务:
sudo systemctl restart mysql
Copier après la connexion
Copier après la connexion
  1. 在从节点上,编辑MySQL的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
  2. server-id = 2
    relay-log = /var/log/mysql/relaylog
    Copier après la connexion
Ce paramètre permettra à d'autres ordinateurs de se connecter au système de gestion de base de données via le réseau.

    Rechargez le fichier de configuration MySQL pour que les modifications prennent effet :
  1. sudo systemctl restart mysql
    Copier après la connexion
    Copier après la connexion
3. Définissez le nœud maître et le nœud esclave
    Dans une base de données distribuée, il y a généralement deux rôles : le nœud maître et le nœud esclave. Le nœud maître est utilisé pour gérer les opérations d'écriture et les requêtes principales de données, tandis que le nœud esclave est utilisé pour répliquer les données du nœud maître et gérer les demandes d'opérations de lecture.
Tout d’abord, configurez le nœud maître. Connectez-vous à la console MySQL :
  1. CREATE DATABASE test;
    USE test;
    CREATE TABLE employees (
        id INT PRIMARY KEY,
        name VARCHAR(100)
    );
    INSERT INTO employees VALUES(1, 'John');
    INSERT INTO employees VALUES(2, 'Jane');
    Copier après la connexion
  2. Créez un nouvel utilisateur de base de données et accordez-lui des autorisations de lecture et d'écriture sur le nœud maître :
USE test;
SELECT * FROM employees;
Copier après la connexion

Ensuite, configurez le nœud esclave. Effectuez les mêmes opérations que le nœud maître sur le nœud esclave, créez un utilisateur identique au nœud maître et définissez les autorisations de l'utilisateur sur des autorisations en lecture seule :


rrreee

4. Configurez et testez la réplication

Dans un environnement distribué base de données, le nœud esclave atteint la cohérence des données en répliquant les données du nœud maître. Voici comment configurer et tester la réplication.

  • Sur le nœud maître, éditez le fichier de configuration MySQL /etc/mysql/mysql.conf.d/mysqld.cnf et ajoutez les paramètres suivants :
  • rrreee
  • Ces paramètres activeront la journalisation binaire , utilisé pour stocker les enregistrements de modifications de données du nœud maître.
🎜🎜Redémarrez le service MySQL sur le nœud maître : 🎜🎜rrreee🎜🎜Sur le nœud esclave, éditez le fichier de configuration MySQL /etc/mysql/mysql.conf.d/mysqld.cnf et ajoutez les paramètres suivants :🎜🎜rrreee🎜Ces paramètres permettront au nœud esclave de recevoir et de répliquer les modifications de données du nœud maître. 🎜🎜🎜Redémarrez le service MySQL du nœud esclave : 🎜🎜rrreee🎜🎜Sur le nœud maître, utilisez la commande suivante pour créer une base de données de test et insérez quelques données : 🎜🎜rrreee🎜🎜Sur le nœud esclave, vous pouvez vérifier si les données sont répliquées avec succès via la commande suivante : 🎜🎜rrreee🎜Si le nœud esclave affiche les mêmes données que le nœud maître, la réplication est réussie. 🎜🎜Résumé :🎜Grâce aux conseils de cet article, nous avons configuré avec succès un système Linux pour prendre en charge le développement de bases de données distribuées. Au cours de ce processus de configuration, nous avons installé le système de gestion de base de données, configuré le nœud maître et les nœuds esclaves et testé la fonction de réplication des données. Les bases de données distribuées peuvent nous aider à relever les défis liés aux données massives et à améliorer les performances et l'évolutivité des systèmes de bases de données. 🎜🎜Matériaux de référence :🎜🎜🎜Documentation officielle MySQL : https://dev.mysql.com/doc/🎜🎜Documentation officielle PostgreSQL : https://www.postgresql.org/docs/🎜🎜

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quatre outils de programmation assistés par IA recommandés Quatre outils de programmation assistés par IA recommandés Apr 22, 2024 pm 05:34 PM

Cet outil de programmation assistée par l'IA a mis au jour un grand nombre d'outils de programmation assistée par l'IA utiles à cette étape de développement rapide de l'IA. Les outils de programmation assistés par l'IA peuvent améliorer l'efficacité du développement, améliorer la qualité du code et réduire les taux de bogues. Ils constituent des assistants importants dans le processus de développement logiciel moderne. Aujourd'hui, Dayao partagera avec vous 4 outils de programmation assistés par l'IA (et tous prennent en charge le langage C#). J'espère que cela sera utile à tout le monde. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot est un assistant de codage IA qui vous aide à écrire du code plus rapidement et avec moins d'effort, afin que vous puissiez vous concentrer davantage sur la résolution de problèmes et la collaboration. Git

Quel programmeur IA est le meilleur ? Explorez le potentiel de Devin, Tongyi Lingma et de l'agent SWE Quel programmeur IA est le meilleur ? Explorez le potentiel de Devin, Tongyi Lingma et de l'agent SWE Apr 07, 2024 am 09:10 AM

Le 3 mars 2022, moins d'un mois après la naissance de Devin, le premier programmeur d'IA au monde, l'équipe NLP de l'Université de Princeton a développé un agent SWE pour programmeur d'IA open source. Il exploite le modèle GPT-4 pour résoudre automatiquement les problèmes dans les référentiels GitHub. Les performances de l'agent SWE sur l'ensemble de tests du banc SWE sont similaires à celles de Devin, prenant en moyenne 93 secondes et résolvant 12,29 % des problèmes. En interagissant avec un terminal dédié, SWE-agent peut ouvrir et rechercher le contenu des fichiers, utiliser la vérification automatique de la syntaxe, modifier des lignes spécifiques et écrire et exécuter des tests. (Remarque : le contenu ci-dessus est un léger ajustement du contenu original, mais les informations clés du texte original sont conservées et ne dépassent pas la limite de mots spécifiée.) SWE-A

Apprenez à développer des applications mobiles en utilisant le langage Go Apprenez à développer des applications mobiles en utilisant le langage Go Mar 28, 2024 pm 10:00 PM

Didacticiel d'application mobile de développement du langage Go Alors que le marché des applications mobiles continue de croître, de plus en plus de développeurs commencent à explorer comment utiliser le langage Go pour développer des applications mobiles. En tant que langage de programmation simple et efficace, le langage Go a également montré un fort potentiel dans le développement d'applications mobiles. Cet article présentera en détail comment utiliser le langage Go pour développer des applications mobiles et joindra des exemples de code spécifiques pour aider les lecteurs à démarrer rapidement et à commencer à développer leurs propres applications mobiles. 1. Préparation Avant de commencer, nous devons préparer l'environnement et les outils de développement. tête

Résumé des cinq bibliothèques du langage Go les plus populaires : outils essentiels au développement Résumé des cinq bibliothèques du langage Go les plus populaires : outils essentiels au développement Feb 22, 2024 pm 02:33 PM

Résumé des cinq bibliothèques du langage Go les plus populaires : des outils essentiels au développement, nécessitant des exemples de code spécifiques. Depuis sa naissance, le langage Go a fait l'objet d'une attention et d'une application généralisées. En tant que langage de programmation émergent, efficace et concis, le développement rapide de Go est indissociable du support de riches bibliothèques open source. Cet article présentera les cinq bibliothèques de langage Go les plus populaires. Ces bibliothèques jouent un rôle essentiel dans le développement Go et offrent aux développeurs des fonctions puissantes et une expérience de développement pratique. Parallèlement, afin de mieux comprendre les usages et les fonctions de ces bibliothèques, nous les expliquerons avec des exemples de codes précis.

Comprendre VSCode : à quoi sert cet outil ? Comprendre VSCode : à quoi sert cet outil ? Mar 25, 2024 pm 03:06 PM

« Comprendre VSCode : à quoi sert cet outil ? » 》En tant que programmeur, que vous soyez débutant ou développeur expérimenté, vous ne pouvez pas vous passer de l'utilisation d'outils d'édition de code. Parmi les nombreux outils d'édition, Visual Studio Code (VSCode en abrégé) est très populaire parmi les développeurs en tant qu'éditeur de code open source, léger et puissant. Alors, à quoi sert exactement VSCode ? Cet article approfondira les fonctions et les utilisations de VSCode et fournira des exemples de code spécifiques pour aider les lecteurs.

Quelle distribution Linux est la meilleure pour le développement Android ? Quelle distribution Linux est la meilleure pour le développement Android ? Mar 14, 2024 pm 12:30 PM

Le développement d'Android est un travail chargé et passionnant, et le choix d'une distribution Linux adaptée au développement est particulièrement important. Parmi les nombreuses distributions Linux, laquelle est la plus adaptée au développement Android ? Cet article explorera ce problème sous plusieurs aspects et donnera des exemples de code spécifiques. Tout d’abord, jetons un coup d’œil à plusieurs distributions Linux actuellement populaires : Ubuntu, Fedora, Debian, CentOS, etc. Elles ont toutes leurs propres avantages et caractéristiques.

PHP est-il front-end ou back-end dans le développement Web ? PHP est-il front-end ou back-end dans le développement Web ? Mar 24, 2024 pm 02:18 PM

PHP appartient au backend du développement Web. PHP est un langage de script côté serveur, principalement utilisé pour traiter la logique côté serveur et générer du contenu Web dynamique. Par rapport à la technologie front-end, PHP est davantage utilisé pour les opérations back-end telles que l'interaction avec les bases de données, le traitement des demandes des utilisateurs et la génération du contenu des pages. Ensuite, des exemples de code spécifiques seront utilisés pour illustrer l'application de PHP dans le développement back-end. Tout d'abord, regardons un exemple de code PHP simple pour se connecter à une base de données et interroger des données :

Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Mar 28, 2024 pm 01:06 PM

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

See all articles