Maison > base de données > tutoriel mysql > le corps du texte

Introduction détaillée à l'exemple de code MySQL pour la sauvegarde et la restauration d'une seule table

黄舟
Libérer: 2017-03-18 13:55:35
original
1245 Les gens l'ont consulté

L'éditeur ci-dessous vous apportera une brève discussion sur mysql pour la sauvegarde et la restauration d'une seule table. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour jeter un œil

A. Installation de l'outil de sauvegarde MySQL xtrabackup

1 La version binaire du xtrabackup officiel de percona. ;binaire La version peut être utilisée après décompression.

2. Décompressez xtrabackup et créez une connexion

tar -xzvf percona-xtrabackup-2.3.4-
Linux
-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/percona-xtrabackup-2.3.4 /usr/local/xtrabackup
Copier après la connexion

3. Définissez l'environnement PATH variable

export PATH=/usr/local/xtrabackup/bin/:$PATH
Copier après la connexion

B. Créer un utilisateur de sauvegarde et une autorisation dans base de données mysql

Créer un utilisateur

<🎜. >
    create user backuper@&#39;localhost&#39; ident
if
ied by &#39;backup123&#39;;
        create user backuper@&#39;127.0.0.1&#39; identified by &#39;backup123&#39;;
Copier après la connexion

2. Autorisation

grant reload,lock tables,replication client,process,
super
 on *.* to &#39;backuper&#39;@&#39;localhost&#39;;
        grant create,insert,select on percona_schema.xtrabackup_history to &#39;backuper&#39;@&#39;localhost&#39;;
        grant reload,lock tables,replication client,process,super on *.* to &#39;backuper&#39;@&#39;127.0.0.1&#39;;
        grant create,insert,select on percona_schema.xtrabackup_history to &#39;backuper&#39;@&#39;127.0.0.1&#39;;
Copier après la connexion

C. vérifiez si la restauration est valide (Cette étape n'est pas disponible en production,

1.

select * from tempdb.dictmajor;   
select * from dictmajor;
        +--------------+-----------------+        
        | column_value | column_mean     |        
        +--------------+-----------------+        
        |            1 | 汉语言文学      |        
        |            2 | 精算            |        
        |            3 | 生物制药        |        
        |            4 | 材料化学        |        
        |            5 | 商务英语        |        
        |            6 | 考古            |        
        |            7 | 外交            |        
        |            8 | 导游            |        
        +--------------+-----------------+
Copier après la connexion

D. Sauvegarde tempdb . table dictmajor

1 Commande de sauvegarde

innobackupex --host=127.0.0.1 --user=backuper --password=backup123 --port=3306 --include=&#39;tempdb.dictmajor&#39; /tmp/tempdb
Copier après la connexion

2. le répertoire A nommé avec l'heure actuelle est généré sous le répertoire de sauvegarde (/tmp/tempdb), et le fichier de sauvegarde

   tree /tmp/tempdb/
        /tmp/tempdb/
        └── 2016-09-10_18-25-16
            ├── backup-my.cnf
            ├── ibdata1
            ├── tempdb
            │   ├── dictmajor.frm
            │   └── dictmajor.ibd
            ├── xtrabackup_binlog_info
            ├── xtrabackup_checkpoints
            ├── xtrabackup_info
            └── xtrabackup_logfile
Copier après la connexion
y est stocké

E. Une fois la sauvegarde terminée, vous pouvez
supprimer la table

tempdb.dictmajor (notez qu'une définition de table doit être enregistrée ici, qui sera utilisée lors de la restauration)

F. Afin d'obtenir un ensemble de sauvegarde cohérent, une restauration et une restauration du journal sont nécessaires avant l'opération de restauration

mysql>drop table tempdb.dictmajor;
Copier après la connexion
Copier après la connexion

1. Journal de restauration en avant et en arrière

2. Comparaison avec la restauration en avant et en arrière avant

innobackupex --apply-log --export /tmp/tempdb/2016-09-10_18-25-16/
Copier après la connexion

      

  tree /tmp/tempdb/
        /tmp/tempdb/
        └── 2016-09-10_18-25-16
            ├── backup-my.cnf
            ├── ibdata1
            ├── ib_logfile0
            ├── ib_logfile1
            ├── tempdb
            │   ├── dictmajor.cfg
            │   ├── dictmajor.exp
            │   ├── dictmajor.frm
            │   └── dictmajor.ibd
            ├── xtrabackup_binlog_info
            ├── xtrabackup_binlog_pos_innodb
            ├── xtrabackup_checkpoints
            ├── xtrabackup_info
            └── xtrabackup_logfile
Copier après la connexion

G. Restaurer la table tempdb.dictmajor

1. Créer la table tempdb.dictmajor

2. Supprimez le fichier d'espace table de tempdb.dictmajor

  create table dictmajor(
        column_value tinyint not null,
        column_mean varchar(32) not null,
        constraint pkdictmajor primary key (column_value));
Copier après la connexion

3. Copiez le fichier d'espace table dans la sauvegarde dans tempdb.dictmajor. où doit être l'espace table

alter table tempdb.dictmajor discard tablespace;
Copier après la connexion

 

   cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.ibd /usr/local/mysql/data/tempdb/
        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.exp /usr/local/mysql/data/tempdb/
        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dictmajor.cfg /usr/local/mysql/data/tempdb/
        chown -R mysql:mysql /usr/local/mysql/data/tempdb/*
Copier après la connexion
4. Importez le fichier d'espace table



5. Vérifiez l'état de récupération de la table dictmajor

alter table tempdb.dictmajor import tablespace;
Copier après la connexion

------------------- -- -----------------------------------------
L'ancien xtrabackup est utilisé pour sauvegarder la table. Son scénario d'application est que le volume de données d'une seule table est important et que l'opération d'écriture sur la table doit être prise en charge pendant le processus de sauvegarde ; est aussi simple que

      select * from dictmajor;
        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 汉语言文学      |
        |            2 | 精算            |
        |            3 | 生物制药        |
        |            4 | 材料化学        |
        |            5 | 商务英语        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 导游            |
        +--------------+-----------------+
Copier après la connexion
Les outils de sauvegarde peuvent également répondre aux exigences ;

Les étapes générales de la sauvegarde mysqldump sont maintenant données

A : Créer un utilisateur de secours

1.  

                          


1.

  create user dumper@&#39;127.0.0.1&#39; identified by &#39;dumper123&#39;;
        grant select on *.* to dumper@&#39;127.0.0.1&#39;;
        grant show view on *.* to dumper@&#39;127.0.0.1&#39;;
        grant lock tables on *.* to dumper@&#39;127.0.0.1&#39;;
        grant trigger on *.* to dumper@&#39;127.0.0.1&#39;;
Copier après la connexion


C : Supprimer la table sauvegardée1.


mysqldump --host=127.0.0.1 --port=3306 --user=dumper --password=dumper123 --quick tempdb dictmajor >/tmp/tempdb.dictmajor.sql
Copier après la connexion

D : Restaurer tempdb. dictmajor table

1.


mysql>drop table tempdb.dictmajor;
Copier après la connexion
Copier après la connexion

E : Vérifier l'efficacité de la restauration

1.

sélectionnez * dans le dictmajor ;

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal