Category Archives: MySQL

Multi-Master Replication Manager pour MySQL

« MMM (Multi-Master Replication Manager for MySQL) est un ensemble de scripts de monitoring, de haute disponibilité et de gestion de configuration MySQL en mode réplication maitre/maitre (avec un seul et unique nœud modifiable, quelque soit le moment).

Les scripts peuvent aussi effectuer une balance en lecture sur une configuration standard en mode 1-maitre/N-esclaves,permettant de déplacer une adresse IP virtuelle dans un groupe de serveurs en réplication. »

Sauvegarde simple de base de données Mysql

Il nécessite le script contenant les « fonctions maisons« .

ATTENTION 1 : si votre base n’est pas en utf-8 (voir Database Character Set and Collation), il est peut-être utile de spécifier le jeu de caractère à utiliser, avec –default-character-set=charset.

ATTENTION 2 : ne pas utiliser ce script sur des bases volumineuses car l’accès en écriture sur chaque table est bloqué pendant le dump de celle-ci. De plus si les bases sont modifiées très fréquemment, la cohérence des données n’est pas forcément respectée. Pour une utilisation en environnement de production, s’orienter plutôt vers Zmanda Recovery Manager, ou utiliser les snapshot LVM.

#!/bin/bash
# backup des BD mysql, une par fichier .sql
# Copyright (C) 2006 Luc Santeramo (luc.santeramo at yahoo dot com)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Chemin vers les executables de MySQL
MYSQLBINPATH="/usr/bin"
# Repertoire de sauvegarde
BACKUPPATH="/var/backup/mysql"
# destinataire du message d'erreur
ERRDEST="sysadmin@localhost"
# fichier de fonction
COMMON_FUNCTIONS="/root/scripts/common_functions"
#####
source $COMMON_FUNCTIONS
# recuperation de la liste des BD mysql
DB_LIST="`mysql -B -N -e "show databases;"`"
# sauvegarde des BD, une par fichier
for db in $DB_LIST
do
$MYSQLBINPATH/mysqldump $db > $BACKUPPATH/$db.sql
error_check $0 $? $LINENO "$*" "$ERRDEST"
chmod 640 $BACKUPPATH/$db.sql
error_check $0 $? $LINENO "$*" "$ERRDEST"
done

Une alternative très intéressante à ce script pourrait-être automysqlbackup, mais il souffre des mêmes maux.

Sauvegarde avancée de bases de données Mysql

« Zmanda Recovery Manager (ZRM) for MySQL » est un logiciel simple et puissant de sauvegarde de bases de données Mysql, diffusé sous licence GPL.

Il permet de créer des sauvegardes complètes ou incrémentales, tout en générant un rapport sous forme texte ou HTML, envoyé ou non par e-mail. Des paquets deb rpm et solaris facilitent son installation dans de nombreux environnements.

Si la sauvegarde « simple » ne vous suffit pas, ZRM vous conviendra certainement.

Et voici un tutoriel qui simplifie la prise en main de l’outil : MySQL Backup And Recovery With mysql-zrm On Debian Sarge