Table des matières
Introduction au plug-in de clonage" >Introduction au plug-in de clonage
install plugin clone soname 'mysql_clone.so';
Copier après la connexion
" >
install plugin clone soname 'mysql_clone.so';
Copier après la connexion
user est le nom d'utilisateur de l'instance de serveur MySQL donatrice ;
演示:克隆远程数据
Maison base de données tutoriel mysql Analyse détaillée MySQL du plug-in Clone

Analyse détaillée MySQL du plug-in Clone

Mar 08, 2022 pm 05:58 PM
mysql

Cet article vous apporte des connaissances pertinentes sur mysql, qui présente principalement des problèmes liés au clonage. MySQL 8.0.17 introduit le plug-in Clone, qui peut être cloné localement ou à partir d'une instance de serveur MySQL distant. pour vous. Tout le monde est utile.

Analyse détaillée MySQL du plug-in Clone

Apprentissage recommandé : Tutoriel mysql

Introduction au plug-in de clonage

MySQL 8.0.17 introduit le plug-in Clone, qui peut être cloné localement ou à partir d'une instance de serveur MySQL distant. les données clonées sont stockées dans InnoDB. Un instantané physique des données, y compris les schémas, les tables, les espaces de table et les métadonnées du dictionnaire de données. Les opérations de clonage comprennent le clonage local et le clonage à distance.

Opération de clonage local :                                                                  Le plug-in doit d'abord être installé et configuré. Le nom du plug-in est mysql_clone.so et il existe deux manières de l'installer.

Méthode 1 :

Le plug-in de base de données MySQL est placé par défaut dans le répertoire correspondant à la variable système plugin_dir. Utilisez l'option --plugin-load-add pour charger le plug-in au démarrage du serveur MySQL, mais. cette méthode nécessite de démarrer le serveur à chaque fois. Vous devez spécifier les options correspondantes, configurables dans le fichier my.cnf, à savoir :

[mysqld]
plugin-load-add=mysql_clone.so
Copier après la connexion

Méthode 2 :

Chargez le plug-in au moment de l'exécution, utilisez INSTALL PLUGIN pour installer et enregistrez le plug-in dans la table système mysql.plugin. Medium :

install plugin clone soname 'mysql_clone.so';
Copier après la connexion

Après l'installation, il peut être visualisé dans la table information_schema.plugins ou via show plugins.

Cloner les données locales

Le clonage de données locales consiste à cloner le répertoire de données MySQL sur le même serveur ou nœud vers un autre répertoire. La syntaxe prise en charge est la suivante,

CLONE LOCAL DATA DIRECTORY [=] '/path/to/clone_dir'
Copier après la connexion

Pour exécuter l'instruction ci-dessus, l'utilisateur correspondant doit disposer de BACKUP_ADMIN. autorisations, et le fichier créé par l'utilisateur ou Le tablespace doit être dans le répertoire de données. En même temps, le chemin absolu doit être spécifié pour la destination du clone. Le chemin complet vers le répertoire doit exister, mais clone_dir ne doit pas exister. exister.

Démo : cloner des données locales

1) Créer un utilisateur

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.25 |
+-----------+
1 row in set (0.00 sec)
mysql> create user clone_admin identified by 'Cl0neTest';
Query OK, 0 rows affected (0.02 sec)
mysql> grant backup_admin on *.* to clone_admin;
Query OK, 0 rows affected (0.10 sec)
Copier après la connexion

2) Créer un répertoire

[root@node1 ~]# mkdir /mysql/clone/
[root@node1 ~]# chown -R mysql:mysql /mysql/clone/
Copier après la connexion

3) Opération de clonage

mysql> clone local data directory='/mysql/clone/clone_data';
Query OK, 0 rows affected (17.09 sec)
Copier après la connexion

4) Afficher les fichiers clonés

[root@node1 ~]# ll /mysql/clone/clone_data/
total 6348816
drwxr-x---. 2 mysql mysql 89 Nov 28 11:26 #clone
-rw-r-----. 1 mysql mysql 9231 Nov 28 11:26 ib_buffer_pool
-rw-r-----. 1 mysql mysql 4294967296 Nov 28 11:26 ibdata1
-rw-r-----. 1 mysql mysql 1073741824 Nov 28 11:26 ib_logfile0
-rw-r-----. 1 mysql mysql 1073741824 Nov 28 11:26 ib_logfile1
drwxr-x---. 2 mysql mysql 6 Nov 28 11:26 mysql
-rw-r-----. 1 mysql mysql 25165824 Nov 28 11:26 mysql.ibd
drwxr-x---. 2 mysql mysql 4096 Nov 28 11:26 sakila
drwxr-x---. 2 mysql mysql 28 Nov 28 11:26 sys
-rw-r-----. 1 mysql mysql 16777216 Nov 28 11:26 undo_001
-rw-r-----. 1 mysql mysql 16777216 Nov 28 11:26 undo_002
Copier après la connexion

5) Vérifier, utiliser le répertoire cloné pour démarrer la base de données

[root@node1 ~]# service mysql.server stop
Shutting down MySQL.... SUCCESS!
[root@node1 ~]# mysqld_safe --datadir=/mysql/clone/clone_data/ --lower-case-table-names=1 --user=mysql
2021-11-28T03:47:11.012900Z mysqld_safe Logging to '/mysql/clone/clone_data/node1.com.cn.err'.
2021-11-28T03:47:11.036181Z mysqld_safe Starting mysqld daemon with databases from /mysql/clone/clone_data
Copier après la connexion

Cloner les données distantes

Clonez l'instance du serveur MySQL distant (donateur) et transférez-la vers l'instance MySQL (destinataire) qui effectue l'opération de clonage. La syntaxe prise en charge pour le clonage des données distantes est la suivante :

CLONE INSTANCE FROM 'user'@'host':port
IDENTIFIED BY 'password'
[ DATA DIRECTORY [ = ] 'clone_dir' ]
[ REQUIRE [ NO ] SSL ]
Copier après la connexion

Parmi elles,

user est le nom d'utilisateur de l'instance de serveur MySQL donatrice ;

password est le mot de passe de l'utilisateur ;

host est l'adresse du nom d'hôte de l'instance de serveur MySQL donatrice. Actuellement, IPv4 est pris en charge, mais IPv6 n'est pas pris en charge. mais des alias peuvent être utilisés ;

    port est l'instance du serveur MySQL donateur ;
  • DATA DIRECTORY [ = ] 'clone_dir' est une clause facultative utilisée pour spécifier le répertoire dans lequel recevoir les données de clonage. fichier de données existant. La spécification de cette option peut transférer les données de clonage vers le répertoire ;
  • REQUIRE [NO] SSL spécifie explicitement s'il faut utiliser une connexion cryptée ;
  • Effectuer l'opération de clonage doit être activé dans le répertoire. instances de serveur MySQL donneur et destinataire. Dans l'instance de serveur donneur, l'utilisateur clone a besoin de l'autorisation BACKUP_ADMIN sur le serveur destinataire. Par exemple, le clonage d'un utilisateur nécessite l'autorisation CLONE_ADMIN, qui inclut les autorisations BACKUP_ADMIN et SHUTDOWN.
  • L'exécution de l'instruction CLONE INSTANCE nécessite de remplir les conditions préalables suivantes :
    • donor和recipient必须有相同的MySQL服务器版本,克隆插件在8.0.17版本后支持;
    • donor和recipient必须运行在相同的操作系统和平台;
    • 克隆数据,recipient必须有足够的磁盘空间;
    • InnoDB需要在数据目录外面创建表空间,可通过INFORMATION_SCHEMA.FILES查看;
    • 克隆插件必须在donor和recipient激活,可通过SHOW PLUGINS查看;
    • donor和recipient必须有相同的MySQL服务器字符集和排序规则;
    • donor和recipient需要有相同的innodb_page_size和innodb_data_file_path设置;
    • 若克隆加密或页压缩的数据,donor和recipient必须有相同的文件系统块大小;
    • 若克隆加密的数据,需要安全的连接;
    • recipient上的clone_valid_donor_list设置必须包括donor MySQL服务器实例的主机地址;
    • 一次只能有一个克隆操作,克隆期间不能有其他克隆操作,可通过clone_status查看;
    • 克隆插件以1MB数据包和元数据的形式传输数据,在donor和recipient MySQL服务器实例上所需的最小max_allowed_packet是2MB;
    • donor上的Undo表空间文件名必须唯一,当数据克隆到recipient,undo表空间克隆到recipient 上innodb_undo_directory指定的位置或DATA DIRECTORY [ = ] 'clone_dir' 子句指定的目录;
    • 默认,recipient MySQL服务器实例在克隆数据完成后自动重启;
    • 几个变量控制远程克隆操作的各个方面;

    演示:克隆远程数据

    默认将数据克隆到recipient端的数据目录,并使用donor的数据进行覆盖,然后进行自动重启recipient端的MySQL服务器实例

    1)登录到donor MySQL服务器实例,创建用户并安装插件(若安装可忽略)

    mysql> create user 'donor_clone_user' identified by 'donor_clone_user';
    Query OK, 0 rows affected (0.02 sec)
    mysql> grant backup_admin on *.* to donor_clone_user;
    Query OK, 0 rows affected (0.01 sec)
    Copier après la connexion

    2)登录到recipient MySQL服务器实例,创建账户并安装插件,并设置clone_valid_donor_list

    mysql> create user recipient_clone_user identified by 'recipient_clone_user';
    Query OK, 0 rows affected (0.04 sec)
    mysql> grant clone_admin,backup_admin on *.* to recipient_clone_user;
    Query OK, 0 rows affected (0.01 sec)
    mysql> install plugin clone soname 'mysql_clone.so';
    Query OK, 0 rows affected (0.01 sec)
    mysql> set global clone_valid_donor_list='192.168.56.53:3306';
    Query OK, 0 rows affected (0.00 sec)
    Copier après la connexion

    3)登录到recipient MySQL服务器实例,使用 recipient_clone_user用户或root用户执行克隆操作,操作完成后会自动重启

    mysql> clone instance from 'donor_clone_user'@'192.168.56.81':3306 identified by 'donor_clone_user';
    Query OK, 0 rows affected (51.08 sec)
    Copier après la connexion

    注:将donor的数据克隆到recipient端默认会覆盖其数据文件,也可以指定一个目录进行克隆,如下:

    mysql> clone instance from 'donor_clone_user'@'192.168.56.81':3306 identified by 'donor_clone_user' data directory='/mysql/clone/clone_data';
    Query OK, 0 rows affected (51.17 sec)
    Copier après la connexion

    使用新目录启动MySQL服务器实例:

    [root@node2 clone]# mysqld --lower-case-table-names=1 --datadir=/mysql/clone/clone_data/ --user=mysql &
    Copier après la connexion

    推荐学习:mysql视频教程

    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.

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)

MySQL: Concepts simples pour l'apprentissage facile MySQL: Concepts simples pour l'apprentissage facile Apr 10, 2025 am 09:29 AM

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

Comment ouvrir phpmyadmin Comment ouvrir phpmyadmin Apr 10, 2025 pm 10:51 PM

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Comment utiliser un seul fileté redis Comment utiliser un seul fileté redis Apr 10, 2025 pm 07:12 PM

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

MySQL et SQL: Compétences essentielles pour les développeurs MySQL et SQL: Compétences essentielles pour les développeurs Apr 10, 2025 am 09:30 AM

MySQL et SQL sont des compétences essentielles pour les développeurs. 1.MySQL est un système de gestion de base de données relationnel open source, et SQL est le langage standard utilisé pour gérer et exploiter des bases de données. 2.MySQL prend en charge plusieurs moteurs de stockage via des fonctions de stockage et de récupération de données efficaces, et SQL termine des opérations de données complexes via des instructions simples. 3. Les exemples d'utilisation comprennent les requêtes de base et les requêtes avancées, telles que le filtrage et le tri par condition. 4. Les erreurs courantes incluent les erreurs de syntaxe et les problèmes de performances, qui peuvent être optimisées en vérifiant les instructions SQL et en utilisant des commandes Explication. 5. Les techniques d'optimisation des performances incluent l'utilisation d'index, d'éviter la numérisation complète de la table, d'optimiser les opérations de jointure et d'améliorer la lisibilité du code.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

Comment construire une base de données SQL Comment construire une base de données SQL Apr 09, 2025 pm 04:24 PM

La construction d'une base de données SQL comprend 10 étapes: sélectionner des SGBD; Installation de SGBD; créer une base de données; créer une table; insérer des données; récupération de données; Mise à jour des données; supprimer des données; gérer les utilisateurs; sauvegarde de la base de données.

See all articles