Maison base de données tutoriel mysql xtrabackup简介_MySQL

xtrabackup简介_MySQL

Jun 01, 2016 pm 01:45 PM
mysql 数据表

bitsCN.com

mysql的备份方式
 
 
1.mysqldump
效率比较低,备份和还原的速度都很慢,任何数据插入和更新操作都会被挂起
 
2.mysqlhotcopy
mysqlhotcopy 是专门针对myisam 数据表进行备份,备份的过程中,任何数据插入和更新操作都会被挂起
 
3.准备一台从服务器,专门做备份(master-slave方式)
 
4.xtrabackup 是 percona 的一个开源项目,可热备份innodb ,XtraDB,MyISAM(会锁表)
 
Xtrabackup有两个主要的工具:xtrabackup、innobackupex
xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁
 
相比之下 xtrabackup 备份比较靠谱
 
下载 xtrabackup-1.6-245.rhel5.x86_64.rpm
安装 rpm -ivh  xtrabackup-1.6-245.rhel5.x86_64.rpm
 
备份(xtrabackup只备份数据文件,并不备份数据表结构(.frm))
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/bak/
恢复(执行两次) 
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/bak/
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/bak/
 
二、 增量备份
 
对比innobackupex和xtrabackup,innobackupex操作起来更方便,但是innobackupex会有短暂的锁表.xtrabackup备份还有另一个重要特性:增量备份.
 
1. 全量备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/bak/
 
2. 增量备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/bak/ --incremental-basedir=/bak/increm/
 
在增量备份的目录下,数据文件都是以.delta结尾的。增量备份只备份上一次全量备份之后被修改过的page,所以增量备份一般只暂用较少的空间。
 
3. 增量备份恢复
分别对全量、增量备份各做一次prepare操作。
xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/bak/
xtrabackup --prepare --target-dir=/bak/ --incremental-dir=/bak/increm/
 
/bak/下的数据文件就可以直接放到你的MySQL数据目录下,恢复数据了。
 
一般的备份 比如不会换全新的环境 用xtrabackup 就可以了
 
在不停生产的情况下备份数据给slave
 
首先确保两边的/etc/my.cnf 文件里边都指定了datadir
 
接着备份数据:
innobackupex-1.5.1   --defaults-file=/etc/my.cnf --stream=tar  --user=root --password=**** --port=3306 --slave-info /bak | gzip>/bak/bak_mysql.tar.gz
 
将bak_mysql.tar.gz cp 到另一台机器上
scp  /bak/bak_mysql.tar.gz  root@host:/home/bak_mysql.tar.gz
 
解压bak_mysql.tar.gz到/bak
tar -ixvf mysqlbak.tar(一定要加i 参数  我也不知道为什么)
 
恢复先 --apply-log  再 --copy-back
innobackupex-1.5.1 --defaults-file=/etc/my.cnf  --user=root  --password=XXXX --port=3306 --apply-log /bak
 
--copy-back这里容易报错
(innobackupex-1.5.1: Copying directory '/bak/tech_soft_drp_ywmy'
innobackupex-1.5.1: Copying directory '/bak/mysql'
mkdir: 无法创建目录 “arb/mysql/mysql”: 文件已存在
innobackupex-1.5.1: Error: Failed to create directory 'arb/mysql/mysql' : 没有那个文件或目录 at /usr/bin/innobackupex-1.5.1 line 336.)
我也不知道咋整。好像是官方1bug 见https://bugs.launchpad.net/percona-xtrabackup/+bug/737569
 
我看了看/bak目录  决定把mysql  test 等自带的一些库直接rm 了。执行已下命令成功
 
innobackupex-1.5.1  --defaults-file=/etc/my.cnf  --user=root  --password=XXXX --port=3306  --copy-back /bak
 
重启数据库服务又有问题
(110719 19:30:16 mysqld_safe Starting mysqld daemon with databases from arb/mysql
110719 19:30:16 [Note] Plugin 'FEDERATED' is disabled.
110719 19:30:16 InnoDB: The InnoDB memory heap is disabled
110719 19:30:16 InnoDB: Mutexes and rw_locks use GCC atomic builtins
110719 19:30:16 InnoDB: Compressed tables use zlib 1.2.3
110719 19:30:16 InnoDB: Using Linux native AIO
110719 19:30:16 InnoDB: Initializing buffer pool, size = 2.0G
110719 19:30:16 InnoDB: Completed initialization of buffer pool
110719 19:30:16  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
110719 19:30:16 mysqld_safe mysqld from pid file arb/mysql/r410.pid ended)
 
 
不知道啥情况。网上搜搜好像是权限问题 直接将mysql 目录 chmod 777 -R mysql 重启服务好了
 
菩萨保佑 问题好了
 
将my.cnf 配置成server-id=2  主从配置在这里不多提了
CHANGE MASTER TO MASTER_HOST='xxxx',MASTER_USER='xx',MASTER_PASSWORD='xxx',MASTER_LOG_FILE='mysql-bin.000047',MASTER_LOG_POS=43446639
 
MASTER_LOG_FILE这个值去/bak 下面的 xtrabackup_binlog_info 找
 
大功告成
 
省了以前通宵用mysqldump 来同步数据再做主从同步
 
这东东是个神器

bitsCN.com
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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

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.

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.

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.

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

Moniteur Disd Droplet avec service d'exportateur Redis Moniteur Disd Droplet avec service d'exportateur Redis Apr 10, 2025 pm 01:36 PM

La surveillance efficace des bases de données Redis est essentielle pour maintenir des performances optimales, identifier les goulots d'étranglement potentiels et assurer la fiabilité globale du système. Le service Redis Exporter est un utilitaire puissant conçu pour surveiller les bases de données Redis à l'aide de Prometheus. Ce didacticiel vous guidera à travers la configuration et la configuration complètes du service Redis Exportateur, en vous garantissant de créer des solutions de surveillance de manière transparente. En étudiant ce tutoriel, vous réaliserez les paramètres de surveillance entièrement opérationnels

Comment afficher l'erreur de base de données SQL Comment afficher l'erreur de base de données SQL Apr 10, 2025 pm 12:09 PM

Les méthodes de visualisation des erreurs de base de données SQL sont: 1. Afficher directement les messages d'erreur; 2. Utilisez des erreurs d'affichage et des commandes d'avertissement Show; 3. Accédez au journal d'erreur; 4. Utiliser les codes d'erreur pour trouver la cause de l'erreur; 5. Vérifiez la connexion de la base de données et la syntaxe de requête; 6. Utilisez des outils de débogage.

Comment se connecter à la base de données d'Apache Comment se connecter à la base de données d'Apache Apr 13, 2025 pm 01:03 PM

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

See all articles