Forum OVH  

Précédent   Forum OVH > Serveurs dédiés
FAQ Guides Recherche Messages du jour Marquer les forums comme lus

Réponse
 
Outils de la discussion
Vieux 15/04/2012, 10h26   #1
lkeria
Membre
 
Date d'inscription: avril 2012
Messages: 29
Problème migration mysql

Bonjour,
je prépare ma migration de 1and1 sur un Debian 6 kimsufi et j'ai des soucis avec la bdd.
Ma base 1and1 a une Collation Latin_german2_ci et ma base ovh pareil.

ovh
http://img11.hostingpics.net/pics/406215ovhconf.png

1and1
http://img11.hostingpics.net/pics/7403361and1conf1.png

j'ai normalement la même config de bdd mais les caractère accentué sont mal transcodé (é ,è etc).

qu'est-ce que j'ai loupé?
__________________
Algerie info - Algerie Immobilier -ennahar
lkeria est déconnecté   Réponse avec citation
Vieux 15/04/2012, 11h35   #2
foxyfox
Membre
 
Date d'inscription: mars 2006
Messages: 3 614
Re : Problème migration mysql

---

Dernière modification par foxyfox 15/04/2012 à 14h36
foxyfox est déconnecté   Réponse avec citation
Vieux 15/04/2012, 11h38   #3
Gaston_Phone
Membre
 
Date d'inscription: août 2009
Messages: 13 313
Re : Problème migration mysql

Soyons prétentieux dans nos conseils!

Avec l'aimable autorisation de sfk, et de code_grabber une piste :

Comment faire un Backup/Restor de mes bases de données MUTUALISEES ?
-------------------------------------------------------------------------------

Bonjour, j'utilise le format GZIP.

Dans un script PHP je mets :

Sauvegarde GZIP - Toutes les tables :

Code PHP:
<?PHP
   error_reporting
(E_ALL); // Activer le rapport d'erreurs PHP

   
$db_charset "latin1"/* mettre utf8 ou latin1 */

   
$db_server         "xxxxxx"// Nom du serveur MySQL.  ex. mysql5-26.perso
   
$db_name           "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_username       "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_password       "xxxxxx"// Mot de passe de la base de données.

   
$cmd_mysql "mysqldump";

   
$archive_GZIP      "sauve_base_format_gzip.gz";

   echo 
" Sauvegarde de la base <font color=red><b>$db_name</b></font> par <b>mysqldump</b> dans le fichier <b>$archive_GZIP</b> <br> \n";
   
$commande $cmd_mysql." --host=$db_server --user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset  $db_name    | gzip -c > $archive_GZIP ";
   
$CR_exec system($commande);
?>
Sauvegarde GZIP - quelques tables :

Code PHP:
<?PHP
   error_reporting
(E_ALL); // Activer le rapport d'erreurs PHP

   
$db_charset "latin1"/* mettre utf8 ou latin1 */

   
$db_server         "xxxxxx"// Nom du serveur MySQL.  ex. mysql5-26.perso
   
$db_name           "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_username       "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_password       "xxxxxx"// Mot de passe de la base de données.

   
$cmd_mysql "mysqldump";

   
$archive_GZIP      "sauve_base_format_gzip.gz";

   
$Liste_tables_a_sauvegarder " Table1 Table2 Table3 Table4 Table5 ... ";

   echo 
" Sauvegarde de la base <font color=red><b>$db_name</b></font> par <b>mysqldump</b> dans le fichier <b>$archive_GZIP</b> <br> \n";
   
$commande $cmd_mysql." --host=$db_server --user=$db_username --password=$db_password -C -Q -e --default-character-set=$db_charset  $db_name  $Liste_tables_a_sauvegarder  | gzip -c > $archive_GZIP ";
   
$CR_exec system($commande);
?>

Sauvegarde GZIP - sauve tables avec liste tables à exclure :

Code PHP:
<?PHP
   error_reporting
(E_ALL); // Activer le rapport d'erreurs PHP

   
$db_charset "latin1"/* mettre utf8 ou latin1 */

   
$db_server         "xxxxxx"// Nom du serveur MySQL.  ex. mysql5-26.perso
   
$db_name           "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_username       "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_password       "xxxxxx"// Mot de passe de la base de données.

   
$cmd_mysql "mysqldump";

   
$archive_GZIP      "sauve_base_format_gzip.gz";

   
$Prefixe_tables_a_exclure " --ignore-table=".$db_name.".jomla1_";

   echo 
" Sauvegarde de la base <font color=red><b>$db_name</b></font> par <b>mysqldump</b> dans le fichier <b>$archive_GZIP</b> <br> \n";
   
$commande $cmd_mysql." --host=".$db_server."  --user=".$db_username." --password=".$db_password."-C -Q -e --default-character-set=".$db_charset."  ".$db_name."  ".$Prefixe_tables_a_exclure."  | gzip -c > ".$archive_GZIP;
   
$CR_exec system($commande);
?>

Restauration GZIP
Code PHP:
<?PHP
   error_reporting
(E_ALL); // Activer le rapport d'erreurs PHP

   
$db_charset "latin1"/* mettre utf8 ou latin1 */

   
$db_server         "xxxxxx"// Nom du serveur MySQL.  ex. mysql5-26.perso
   
$db_name           "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_username       "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_password       "xxxxxx"// Mot de passe de la base de données.

   
$cmd_mysql "mysql";

   
$archive_GZIP      "sauve_base_format_gzip.gz";

   if (!
is_file($archive_GZIP))   echo "<font color=red>Le fichier <b>".$archive_GZIP."</b> n'existe pas </font> <br> \n";

   echo 
" Restauration de la base <font color=red><b>$db_name</b></font> par <b>mysql</b> depuis le fichier <b>$archive_GZIP</b> <br> \n";
   
$commande "gzip -d < ".$archive_GZIP." | ".$cmd_mysql." --host=".$db_server."  --user=".$db_username." --password=".$db_password." ".$db_name;
   
$CR_exec system($commande); 
?>
Restauration SQL
Code PHP:
<?PHP
   error_reporting
(E_ALL); // Activer le rapport d'erreurs PHP

   
$db_charset "latin1"/* mettre utf8 ou latin1 */

   
$db_server         "xxxxxx"// Nom du serveur MySQL.  ex. mysql5-26.perso
   
$db_name           "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_username       "xxxxxx"// Nom de la base de données.  ex. mabase
   
$db_password       "xxxxxx"// Mot de passe de la base de données.

   
$cmd_mysql "mysql";

   
$archive_SQL      "Sauve_Base.SQL";

   if (!
is_file($archive_SQL))   echo "<font color=red>Le fichier <b>".$archive_SQL."</b> n'existe pas </font> <br> \n";

   echo 
" Restauration de la base <font color=red><b>$db_name</b></font> par <b>mysql</b> depuis le fichier <b>".$archive_SQL."</b> <br> \n";
   
$commande $cmd_mysql." --host=".$db_server."  --user=".$db_username." --password=".$db_password." ".$db_name."  < ".$archive_SQL;
   
$CR_exec system($commande); 
?>

Analyse :
Pour la partie sauvegarde pas de risque.
Pour la partie restauration, s'assurer au préalable que la sauvegarde est correcte :
  • Transfert de la sauvegarde sur ton micro,
  • Dé-zippe le fichier sauvegarde,
  • Ouvre avec NOTEPAD.EXE le fichier extrait.

Le fichier extrait doit avoir une taille conséquente et commencer par quelque chose qui ressemble à :

Citation:
-- MySQL dump 10.13 Distrib 5.1.35, for Win32 (ia32)
--
-- Host: localhost Database: YYY
-- ------------------------------------------------------
-- Server version 5.1.35-community

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tbl_adresses`
--

DROP TABLE IF EXISTS `Table_xxx`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Table_xxx` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
...
`DER` varchar(3) NOT NULL DEFAULT '',
PRIMARY KEY (`Id`),
KEY `Id` (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=2561 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `Table_xxx`
--

LOCK TABLES `Table_xxx` WRITE;
__________________
Gaston
Gaston_Phone est déconnecté   Réponse avec citation
Vieux 15/04/2012, 13h18   #4
TBC_Ly0n
Membre
 
Date d'inscription: juillet 2007
Messages: 7 460
Envoyer un message via MSN à TBC_Ly0n Envoyer un message via Skype™ à TBC_Ly0n
Re : Problème migration mysql

La collation ne fait pas tout (mais ça nourrit son homme)
Utilise --default-character-set de chaque coté pour être sûr de traiter les données de la même manière.
__________________
(\__/) Ce lapin veut conquerir le monde ! Aidez-le à
(='.'=) atteindre son but en le mettant dans votre signature.
(")_(") Besoin d'infogérance ? Hebergement-pro.org
TBC_Ly0n est déconnecté   Réponse avec citation
Vieux 15/04/2012, 16h51   #5
lkeria
Membre
 
Date d'inscription: avril 2012
Messages: 29
Re : Problème migration mysql

Merci beaucoup Gaston_Phone.
les script php marche comme il faut.
__________________
Algerie info - Algerie Immobilier -ennahar
lkeria est déconnecté   Réponse avec citation
Réponse

Outils de la discussion

Règles de messages
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : non
Le code HTML peut être employé : non



Fuseau horaire GMT +1. Il est actuellement 13h49.


© OVH 1999-2010