当前位置:网站首页>Gestion des journaux sauvegarde et récupération des journaux dans MySQL
Gestion des journaux sauvegarde et récupération des journaux dans MySQL
2022-06-28 17:02:00 【Steve Lu】
Table des matières
Un.、MySQLType de journal commun et ouverture
2、Journal général des requêtes
1、Voir si le journal de requête générique est activé
2、Voir si le journal binaire est allumé
3、Vérifier si la fonction de jour de requête lent est activée
Voir les paramètres de temps de requête lent
Définir la méthode d'ouverture des requêtes lentes dans la base de données
Un.、Importance de la sauvegarde des données
2.、Classification des sauvegardes de base de données
1、Du point de vue physique et logique,Les sauvegardes peuvent être divisées en
Trois、Méthodes courantes de sauvegarde
2、Outils spéciaux de sauvegardemydumpOumysqlhotcopy
3、Démarrer le journal binaire pour la sauvegarde incrémentale
Quatre、MySQLSauvegarde et récupération complètes
1.Sauvegarde physique à froid et récupération
2.mysqldump Sauvegarde et récupération
Cinq、MySQL Sauvegarde et récupération incrémentales
1、Activer la fonction de journalisation binaire
2、Sauvegarde hebdomadaire complète de la base de données ou de la table
4、Insérer de nouvelles données,Pour simuler une augmentation ou une modification des données
5、Générer un nouveau fichier de log binaire(Par exemple mysql-bin.000004)
6、Voir le contenu du fichier journal binaire
MySQLGestion des journaux
MySQLL'emplacement par défaut pour enregistrer le journal est/usr/local/mysql/data
Il y a deux façons d'ouvrir le journal:Par profil ou par commande
Modifier les journaux ouverts par commande est temporaire,Le Service s'arrête après l'arrêt ou le redémarrage
Un.、MySQLType de journal commun et ouverture
vim /etc/my.cnf
[mysqld]
......
1、Journal des erreurs
Pour enregistrer quandMySQLDémarrage、Message d'erreur lors de l'arrêt ou de l'exécution,Activé par défaut
Spécifiez où enregistrer le journal et le nom du fichier
log-error=/usr/local/mysql/data/mysql_error.log
2、Journal général des requêtes
Pour enregistrerMySQLToutes les connexions et déclarations pour,La valeur par défaut est désactivée
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
3、Journal binaire(binlog)
Utilisé pour enregistrer tous lesMySQLDémarrage、Message d'erreur envoyé à l'arrêt ou à l'exécution,La valeur par défaut est désactivée
log-bin=mysql-bin
Ou
log_bin=mysql-bin
4、Journal de requête lent
Utilisé pour enregistrer tous les temps d'exécution supérieurs àlong_query_timeDeuxième déclaration,Vous pouvez trouver quelles déclarations de requête prennent beaucoup de temps à exécuter,Pour faciliter l'optimisation,La valeur par défaut est désactivée
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5
systemctl restart mysqld
2.、Afficher l'état du Journal
1、Voir si le journal de requête générique est activé
mysql -u root -p
show variables like 'general%';
2、Voir si le journal binaire est allumé
show variables like 'log_bin%';
3、Vérifier si la fonction de jour de requête lent est activée
show variables like '%slow%';
Voir les paramètres de temps de requête lent
show variables like 'long_query_time';
Définir la méthode d'ouverture des requêtes lentes dans la base de données
set global slow_query_log=ON;
Le Service de redémarrage de la méthode a échoué
MySQLSauvegarde et récupération
Un.、Importance de la sauvegarde des données
Le but principal de la sauvegarde est la reprise après sinistre
Dans un environnement de production,La sécurité des données est essentielle
Toute perte de données peut avoir de graves conséquences
Cause de la perte de données
1、Erreur de programme
2、Erreur humaine
3、Erreur de calcul
4、Défaillance du disque
5、Catastrophe(Incendie、Le tremblement de terre、Vol, etc)
2.、Classification des sauvegardes de base de données
1、Du point de vue physique et logique,Les sauvegardes peuvent être divisées en
1、Sauvegarde physique:Fichiers physiques pour le système d'exploitation de la base de données(Comme les fichiers de données、Fichiers journaux, etc.)Sauvegarde de
Méthode de sauvegarde physique:
1.Sauvegarde à froid(Sauvegarde hors ligne):C'est fait en fermant la base de données
2.Sauvegarde à chaud(Sauvegarde en ligne):La base de données fonctionne,Fichiers journaux dépendants de la base de données
3.Sauvegarde chaude:Table de verrouillage de la base de données(Non écrit mais lisible)Opération de sauvegarde dans l'état de
2、Sauvegarde logique:Pour les composants logiques de la base de données(Par exemple::Objets de base de données tels que les tables)Sauvegarde de
2、Du point de vue de la politique de sauvegarde de la base de données,Les sauvegardes peuvent être divisées en
1、Sauvegarde complète:Chaque sauvegarde complète de la base de données
Une sauvegarde complète est pour toute la base de données、Sauvegarde de la structure de la base de données et de la structure du fichier.
Sauvegardez la base de données au moment où la sauvegarde est terminée.
Est la base des sauvegardes différentielles et incrémentales.
L'équivalent de la pierre angulaire.
2、Sauvegarde différentielle:Sauvegarde des fichiers modifiés depuis la dernière sauvegarde complète
3、Sauvegarde incrémentale:Les fichiers qui ont été modifiés après la dernière sauvegarde complète ou incrémentale seront sauvegardés
Trois、Méthodes courantes de sauvegarde
1、Réserve physique à froid
.La base de données était fermée au moment de la sauvegarde,Emballage direct des fichiers de base de données
Sauvegarde rapide,La restauration est aussi la plus simple
FermerMySQLBase de données
UtilisertarCommande packaging the database folder directly
Remplacer directement lesMySQLTable des matières
2、Outils spéciaux de sauvegardemydumpOumysqlhotcopy
mysqldumpOutils de sauvegarde logiques couramment utilisés
MySQLOutils de sauvegarde inclus,Oui réalisableMySQLSauvegarde de
La Bibliothèque spécifiée peut être、Tableau exporté sousSQLScript
Utilisez les commandesmysqlImporter des données sauvegardées
mysqlhotcopyN'avoir que des sauvegardesmyisamEtarchiveTableau
3、Démarrer le journal binaire pour la sauvegarde incrémentale
Effectuer des sauvegardes incrémentales,Besoin de rafraîchir le journal binaire
4、Sauvegarde d'outils tiers
GratuitMySQLLogiciel de sauvegarde à chaudPercona XtraBackup
Quatre、MySQLSauvegarde et récupération complètes
Environnement expérimental
MySQL CentOS7 192.168.19.18 mysql-boost-5.7.20.tar.gz
mysql -u root -p
create database SCHOOL;
use SCHOOL;
create table if not exists CLASS1 (
id int(4) not null auto_increment,
name varchar(10) not null,
sex char(10) not null,
hobby varchar(50),
primary key (id));
insert into CLASS1 values(1,'user1','male','running');
insert into CLASS1 values(2,'user2','female','singing');
set password = password('123123');
MySQL Sauvegarde complète
InnoDBLa base de données du moteur de stockage est stockée sur disque en trois fichiers:db.opt(Fichier des propriétés de la table)、Nom du tableau.frm(Fichier de structure du tableau)、Nom du tableau.ibd(Fichier de données du tableau).
1.Sauvegarde physique à froid et récupération
systemctl stop mysqld
yum -y install xz
Compresser les sauvegardes
tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data/
Décompresser la récupération
tar Jxvf /opt/mysql_all_2020-11-22.tar.xz -C /usr/local/mysql/data
systemctl restart mysql
2.mysqldump Sauvegarde et récupération
(1)Sauvegarde complète d'une ou plusieurs bibliothèques complètes(Y compris tous les tableaux)
mysqldump -u root -p[Mot de passe] --databases Nom de la Banque1 [Nom de la Banque2] … > /Chemin de sauvegarde/Nom du fichier de sauvegarde.sql #Exporter est un fichier de script de base de données
Exemple:
mysqldump -uroot -p123123 --databases SCHOOL > /opt/SCHOOL.sql
mysqldump -uroot -p123123 --databases mysql SCHOOL > /opt/mysql-SCHOOL.sql
(2)Sauvegarde complète MySQL Toutes les bibliothèques du serveur
mysqldump -u root -p[Mot de passe] --all-databases > /Chemin de sauvegarde/Nom du fichier de sauvegarde.sql
(3)Sauvegarde complète de certaines tables dans la Bibliothèque spécifiée
mysqldump -u root -p[Mot de passe] Nom de la Banque [Nom du tableau1] [Nom du tableau2] … > /Chemin de sauvegarde/Nom du fichier de sauvegarde.sql
mysqldump -uroot -p123123 SCHOOL CLASS1 > /opt/SCHOOL_CLASS1.sql
#Utiliser“-d”Options,Description enregistrer uniquement la structure de la table de la base de données
#Non utilisé“-d”Options,Description les données du tableau sont également sauvegardées
(4)Affichage des fichiers de sauvegarde
grep -v "^--" /opt/SCHOOL_CLASS1.sql | grep -v "^/" | grep -v "^$"
Restauration complète de sauvegarde
1、Restaurer la base de données
mysql -uroot -p123123 -e 'drop database SCHOOL;'
#“-e”Options,Utilisé pour spécifier les connexions MySQL Commandes exécutées après,Sortie automatique après l'exécution de la commande
mysql -uroot -p123123 -e 'SHOW DATABASES;'
mysql -uroot -p123123 < /opt/SCHOOL.sql
mysql -uroot -p123123 -e 'SHOW DATABASES;'
2、Restaurer la Feuille de données
mysql -uroot -p123123 -e 'drop table SCHOOL.CLASS1;'
mysql -uroot -p123123 -e 'show tables from SCHOOL;'
mysql -uroot -p123123 SCHOOL < /opt/SCHOOL_CLASS1.sql
mysql -uroot -p123123 -e 'show tables from SCHOOL;'
Cinq、MySQL Sauvegarde et récupération incrémentales
MySQL Sauvegarde incrémentale
1、Activer la fonction de journalisation binaire
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog_format = MIXED
server-id = 1
#Journal binaire(binlog)Oui.3Différents formats d'enregistrement:STATEMENT(Basé surSQLDéclarations)、ROW(Basé sur la ligne)、MIXED(Mode mixte),Le format par défaut estSTATEMENT
systemctl restart mysqld
ls -l /usr/local/mysql/data/mysql-bin.*
2、Sauvegarde hebdomadaire complète de la base de données ou de la table
mysqldump -uroot -p123123 SCHOOL CLASS1 > /opt/SCHOOL_CLASS1_$(date +%F).sql
mysqldump -uroot -p123123 --all-databases SCHOOL > /opt/SCHOOL_$(date +%F).sql
3、Des sauvegardes incrémentales peuvent être effectuées quotidiennement,Générer un nouveau fichier de log binaire(Par exemple mysql-bin.000003)
mysqladmin -uroot -p123123 flush-logs
4、Insérer de nouvelles données,Pour simuler une augmentation ou une modification des données
mysql -uroot -p123123
use SCHOOL;
insert into CLASS1 values(3,'user3','male','game');
insert into CLASS1 values(4,'user4','female','reading');
5、Générer un nouveau fichier de log binaire(Par exemple mysql-bin.000004)
mysqladmin -uroot -p123123 flush-logs
#Étapes précédentes4Les opérations de la base de données pour seront sauvegardées dansmysql-bin.000003Dans le document,Les données de la base de données sont ensuite sauvegardées dansmysql-bin.000004Dans le document
6、Voir le contenu du fichier journal binaire
cp /usr/local/mysql/data/mysql-bin.000003 /opt/
mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000002
#- -base64-output=decode-rows:Utiliser64Le mécanisme d'encodage des bits décode et lit en ligne
#-v:Afficher les détails
边栏推荐
猜你喜欢
[tcapulusdb knowledge base] Introduction to tcapulusdb restrictions
Cloud sports, 360 ° witnessing speed and passion
「杰伦熊」暴跌96.6% 明星带货NFT为何遇冷?
visio 使用
12 SQL optimization schemes summarized by old drivers (very practical)
It's completely cold! Tencent's well-known software was taken off the shelves, and netizens were all sobbing...
7-用户输入和while循环
"Popular science leaders say" intelligent bionic robot fish
【世界海洋日】TcaplusDB号召你一同保护海洋生物多样性
Lucky draw animation - Carp jumps over the dragon's gate
随机推荐
Js中的Bom
Written interview algorithm classic - longest palindrome substring
Must the database primary key be self incremented? What scenarios do not suggest self augmentation? ByteDance experience sharing using Flink state 𞓜 afternoon tea with sauce issue 16
Noip2011-2018 problem solving report of improvement group
The number of different integers in the character string of [3 questions (3) per day]
【TcaplusDB知识库】WebClient用户如何读取和修改数据
EasyCVR播放视频出现卡顿花屏时如何解决?
【TcaplusDB知识库】TcaplusDB技术支持介绍
[force button] 977 Square of ordered array
It's completely cold! Tencent's well-known software was taken off the shelves, and netizens were all sobbing...
Fs2k face sketch attribute recognition
NOIP1998-2018年普及组 CSP-J2 2019 2020 解题报告及视频
提升可观测性 - 业务指标监控实践
Please ask me, the queries written in my database account for 99%. Is it better to use pay as you go mode or reservation mode?
[force button] 35 Search insert location
RHEL6.4中使用Cacti+Spine监控主机实现发送邮件报警
Flex layout
China energy integration and Tianyi cloud create an "energy brain"
Curve 替换 Ceph 在网易云音乐的实践
StackOverflow 2022 开发者报告:PostgreSQL 超越 MySQL !