Ceci est une ancienne révision du document !


Hints

Afin d'eviter de redemarrer le MySQL voici ce que l'on peut faire (apres avoir modifier les fichiers de configurations)

mysql> SET GLOBAL expire_logs_days=2;
Query OK, 0 rows affected (0.02 sec)

mysql> SHOW GLOBAL VARIABLES LIKE "%EXPIRE%";
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 2     |
+------------------+-------+
1 row in set (0.00 sec)

  • Purge des binlogs a la mano et proprement:

mysql> PURGE BINARY LOGS BEFORE '2012-03-12 22:32';
Query OK, 0 rows affected (0.00 sec)

Creation de compte Mysql

  • Création de compte “propre” Mysql

FIXME à completer

mysql> GRANT ALL PRIVILEGES ON table2toto.* TO 'toto'@'localhost' IDENTIFIED BY 'goodsecret';

  • Flush : necessaire si on attaque les bases en direct, merci a toi COB

FLUSH PRIVILEGES;

Perte d'un mot de passe

Dumpage a la sauvage d'un MySQL

#!/bin/bash

REP=/var/log/mysql-dump
IPPROD=192.168.251.210/32

#### ATTENTION LES LOGROTATE PLANTERONT SI ON NE FAIT PAS CA LORS DE L'INSTALL
# mkdir -p /var/log/mysql-dump
# touch /var/log/mysql-dump/null.sql.gz

# on considere que les info des cnx sont correctement renseignes ds ~/.my.cnf

# On est bourrin : on fait un dump global puis des dump moins globaux
# et en sus, on compress a la volée

# On est faineant : on consigne la rotation de ces dump a logrorate

# Et pour finir (ou plutot commencer) : on ne dump pas si on a l'ip de prod mysql
ip addr ls | grep -q $IPPROD
if [ $? == 0 ]; then
                echo Dump non fait : nous avons l IP de prod aka $IPPROD
                exit 2
        fi
echo Lancement du DUMP
mkdir -p $REP

echo Traitement global
time mysqldump --master-data --all-databases | gzip -c -9 > $REP/_bigdump.sql.gz

echo Traitement unitaire
mysql -e "show databases\G" | grep "^Database: " | cut -f2 -d" " | while read db
do
        echo === $db
        time mysqldump --master-data --databases $db | gzip -c -9 > $REP/$db.sql.gz
        done

/var/log/mysql-dump/*sql.gz {
        daily
        rotate 7
        missingok
        create 640 mysql adm
        sharedscripts
        postrotate
              /opt/mysql/bkp-mysql-adlp
        endscript
}

Purge des Fichiers BinLog

Cf https://dev.mysql.com/doc/refman/5.0/en/purge-binary-logs.html

PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';

Variable Globales

Show

mysql> show global variables like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 10    |
+------------------+-------+
1 row in set (0.00 sec)

Set

mysql> set global expire_logs_days=2;
Query OK, 0 rows affected (0.03 sec)


docs/linuxeries/mysql.1345121126.txt.gz · Dernière modification: 2013/10/03 21:16 (édition externe)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki