Aller au contenu

Mysqldump (De Dsm 5.0 Mysql 5.5.34 Mariadb Vers Dsm 4.3 Mysql 5.1.49)


Messages recommandés

Bonjour à tous,

Tous les soirs à 23h, un script fait un dump de ma base de prod dans un fichier => database_20140319_001501.sql

Tous les soirs à 00h, le backup vient chercher ce fichier, vide ses tables et injecte les données du jour.

Tout fonctionnait très bien depuis un moment, et hier, je décide regarder, et je me rend compte que le script génére une erreur à l'injection depuis un moment (impossible de connaître la date exacte).

Il m'affiche cette erreur :

ERROR 1064 (42000) at line 4680: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL,
  `lock_time` time(6) NOT NULL,
  `rows_sent` int(11) NOT NULL,
  ' at line 4

D'autant plus bizarre que cette table n'est pas de moi, donc bon... Voici la table en question, générée par le serveur prod :

--
-- Table structure for table `slow_log`
--

/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE IF NOT EXISTS `slow_log` (
  `start_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_host` mediumtext NOT NULL,
  `query_time` time(6) NOT NULL,
  `lock_time` time(6) NOT NULL,
  `rows_sent` int(11) NOT NULL,
  `rows_examined` int(11) NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int(11) NOT NULL,
  `insert_id` int(11) NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log';
/*!40101 SET character_set_client = @saved_cs_client */;

La commande de dump est :

"/usr/syno/mysql/bin/mysqldump" --all-databases -u "$RO" -p"$PASS" > "$FICHIER"

Le restore :

#On néttoie
for i in `"usr/syno/mysql/bin/mysql" -u "$RO" -p"$PASS" -e "SHOW DATABASES" | grep -v "Database" | grep -v "information_schema" | grep -v "mysql"`
do
    "usr/syno/mysql/bin/mysql" -u "$RO" -p"$PASS" -e "DROP DATABASE $i"
done
#On injecte
"usr/syno/mysql/bin/mysql" -u "$RO" -p"$PASS" < "$FICHIER"
Modifié par Lokomass
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.