Affichage des résultats 1 à 5 sur 5

Discussion: Problème migration mysql

  1. #1
    Membre
    Date d'inscription
    April 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é?

  2. #2
    Membre
    Date d'inscription
    March 2006
    Messages
    3 264

    Re : Problème migration mysql

    ---
    Dernière modification par foxyfox ; 15/04/2012 à 14h36.

  3. #3
    Membre
    Date d'inscription
    August 2009
    Messages
    17 877

    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 à :

    -- 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
    Pour une aide plus efficace, n'hésitez pas à donner le plus de détails sur votre problème : Domaine, Filer, Serveur SQL et ... le Nic-Handle

  4. #4
    Membre
    Date d'inscription
    July 2007
    Messages
    7 526

    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

  5. #5
    Membre
    Date d'inscription
    April 2012
    Messages
    29

    Re : Problème migration mysql

    Merci beaucoup Gaston_Phone.
    les script php marche comme il faut.

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •