Bonjour à tous,

J'utilise un script que j'ai récupérer sur le net afin de proceder aux sauvegardes de mes bases de données.

Toutefois, en voulant tester une sauvegarde, j'importe celle ci dans ma base de donnée, tout passe bien jusqu'a que ça me dit que le déroulement a été effectué avec succès. Je clique sur la base de donnée en question et j'ai aucune table qui s'affiche.Pour info, il faut créer un utilisateur dédié à la sauvegarde. Pour cela, j'ai fait :

Puis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CREATE USER 'backup'@'localhost' IDENTIFIED BY '';
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GRANT SHOW DATABASES, SELECT, LOCK TABLES, RELOAD ON *.* to 'backup'@'localhost' ;
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GRANT EVENT ON *.* to 'backup'@'localhost' with grant option;
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
grant show view on *.* to 'backup'@'localhost';
et pour finir :Je modifie ensuite le mot de passe de mon nouvel user backup :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UPDATE mysql.user SET password=PASSWORD("nouveau_mdp") where User="backup";
Dossier contenant les sauvegardes et droits sont correct. Je comprends pas car si je fais un export puis un import via phpmyadmin, ça marche sans souci.
Quelqu'un aurait une idée ?
Merci à vous tous pour votre aide

Voici le script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
 
# Configuration de base: datestamp e.g. DDMMYYYY
 
DATE=$(date +"Sauv_du_%d_%m_%Y")
 
# Dossier où sauvegarder les backups (créez le d'abord!)
 
BACKUP_DIR="/home/users/save_BD"
 
# Identifiants MySQL
 
MYSQL_USER="backup"
MYSQL_PASSWORD="PASSWORD_OF_USER_backup"
 
# Commandes MySQL (aucune raison de modifier ceci)
 
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
 
# Bases de données MySQL à ignorer
 
SKIPDATABASES="Database|information_schema|performance_schema|mysql|phpmyadmin"
 
# Nombre de jours à garder les dossiers (seront effacés après X jours)
 
RETENTION=14
 
# ---- NE RIEN MODIFIER SOUS CETTE LIGNE ------------------------------------------
#
# Create a new directory into backup directory location for this date
 
mkdir -p $BACKUP_DIR/$DATE
 
# Retrieve a list of all databases
 
databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "($SKIPDATABASES)"`
 
# Dumb the databases in seperate names and gzip the .sql file
 
for db in $databases; do
echo $db
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --skip-lock-tables --events --databases $db | gzip > "$BACKUP_DIR/$DATE/$db.sql.gz"
done
 
# Remove files older than X days
 
find $BACKUP_DIR/* -mtime +$RETENTION -delete
Edit :
Je fini par quelques informations complémentaires
Serveur de prod :

Serveur de base de données
Serveur : Localhost via UNIX socket
Type de serveur : MySQL
Version du serveur : 5.5.55-0+deb8u1 - (Debian)
Version du protocole : 10
Utilisateur : root@localhost
Jeu de caractères du serveur : UTF-8 Unicode (utf8)

Serveur web
Apache
Version du client de base de données : libmysql - 5.5.55
Extension PHP : mysqli Documentation

phpMyAdmin
Version : 4.2.12deb2+deb8u2

Serveur de TEST:
Serveur de base de données
Serveur : Localhost via UNIX socket
Type de serveur : MariaDB
Version du serveur : 10.1.23-MariaDB-9+deb9u1 - Debian 9.0
Version du protocole : 10
Utilisateur : root@localhost
Jeu de caractères du serveur : UTF-8 Unicode (utf8)

Serveur web
Apache
Version du client de base de données : libmysql - mysqlnd 5.0.11-dev - 20120503 - $Id: 76b08b24596e12d4553bd41fc93cccd5bac2fe7a $
Extension PHP : mysqliDocumentation curlDocumentation mbstringDocumentation
Version de PHP : 5.6.31-1+0~20170711121556.3+stretch~1.gbp94bb71

phpMyAdmin
Version : 4.6.6deb4