Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    11

    Da MySQL 5.1x a MySQL 5.0x

    Ho un problema.
    Ho sviluppato un sito in locale che ha un database MySQL versione 5.1.33.
    Spostandolo su Aruba che ha un database V. 5.0 91 non funziona.

    Come posso fare?, c'è una soluzione?
    (magari un programma che mi permetta di fare una conversione del database)

    Ringrazio per le eventuali risposte.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    precisa un pochino meglio.
    cosa intendi per "non funziona"?
    E, soprattutto, cosa intendi per "spostato"?

    -------
    5.1 ha parecchie innovazioni su 5.0, ad esempio il partizionamento.

    Se il db usa funzioni "nuove" devi correggerlo a mano.

    Normalmente ti basta dumpare in ASCII il db (mysqldump), tagliare via tutta la "spazzatura" introdotta (lascia solo create table e insert) per poi reimportarlo.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    11
    Innanzitutto grazie per la tua risposta franzauker.

    Ho sviluppato un sito con joomla nel quale all'inteno c'è una galleria fotografica sviluppata con Gallery2 di menalto.
    l'ho sviluppato su di un server locale e tutto funge perfettamente.
    poi l'ho rasferito in emoto su un server Aruba.

    Questo l'ho fatto un anno fà e tutto ok.

    Ho apportato alcune modifiche a Gallery2 (sempre su locale) ma l'ho fatto aggiornando il server locale ed ora mi trovo con il server locale con MySQL: 5.1.33 e con il server Aruba con MySQL: 5.0.91.

    Se accedo al sito, la sezione che riguarda Joomla funziona correttamente, mentre sa vado nella galleria mi dice che la pagina è inesistente.

    Se entro direttamente nell'installazione di Gallery2 mi viene un messaggio che mi dice chè
    "la versione delle tabelle del database della gallery installata non corrisponde a quella dei dati installati nella cartella di memorizzazione di Gallery".

    (forse potrebbe bastare editare ol database cabmiando il numero della versione, ma non so come fare)

    Come potrei risolvere? (non sono un grande esperto di MySQL).

    Potresti essermi d'aiuto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    non conosco gallery, ti suggerisco di dumpare il database, zipparlo e caricarlo "da qualche parte",se vuoi che ci dia un'occhiata

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    11
    Ho dato un'occhiata della struttura dei due database con HTMLpad e purtroppo ho visto che sono completamente diverse, cercare di ricostruirle "a mano" credo sia una cosa quasi impossibile.

    Ci vorrebbe un programmino che faccia la conversione in automatico, o anche che salvi la strutture del database MySQL in una forma compatibile alla versione inferiore (da 5.1x a 5.0x), ho cercato in internet ma non ho trovato nulla.

    Altrimenti non mi resta altro da fare che ricostruire completamente gallery2 sul derver remoto, cosa che non volevo fare perchè le modifiche sono molte.

    Per inviarti i due tipi di database in formato XML (così puoi vederli più agevolmente) come posso fare, su questo sito si possono allegare files *.zip?

    Ti ringrazio nuovamente.

  6. #6
    http://dev.mysql.com/doc/refman/5.1/en/downgrading.html

    il manuale prevede il downgrading da 5.1 a 5.0

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da aldopoli
    Ho dato un'occhiata della struttura dei due database con HTMLpad e purtroppo ho visto che sono completamente diverse
    ???
    Non mi è chiaro se hai subito un aggiornamento della struttura del db (da due versioni diverse dell'applicazione), oppure cosa sia successo.

    I dump ASCII cambiano pochissimo tra 5.1 e 5.0 (una volta "purgati"), alla fin fine sono 2 istruzioni.
    CREATE TABLE e INSERT

    ...o anche che salvi la strutture del database MySQL in una forma compatibile alla versione inferiore (da 5.1x a 5.0x), ho cercato in internet ma non ho trovato nulla.
    mysqldump -uroot -ppassword -hIPdelserver --default-character-set=latin1 >dove_vuoi_la_copia.sql
    Per inviarti i due tipi di database in formato XML (così puoi vederli più agevolmente) come posso fare, su questo sito si possono allegare files *.zip?
    XML? Che ci faccio con XML?
    Serve un mysqldump

    per la seconda domanda... non so

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    11
    Per piero.mac
    Grazie per la tua risposta, purtroppo la procedura richiede molto tempo.

    Per franzauker
    non ho subìto un'aggiornamento, l'ho sviluppato in server locale che ha una versione MySQL 5.1x e devo metterlo su server remoto (Aruba) che ha una versione MySQL 5.0x

    Cos'è Mysqldump? doveposso trovarlo?

    Io uso il pannello di controllo di Mysql (PHPMyAdmin) sia per importare che esportare il database, i files che chiedi sono quelli in formato .sql? (io li ho convertiti in XML per esaminarli meglio).

    A vedere la strutture è molto diversa.

    Ti ringrazio molto e mi scuso del tempo che ti faccio perdere.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    ma che perdita di tempo?

    allora per ordine, a mio parere, non hai sostanzialmente alcuna differenza negli archivi.

    per estrarre i dati in formato ASCII (con le istruzioni SQL) il modo "normale" è quello di usare il relativo programma, che si chiama proprio

    mysqldump

    e che si trova (per windows) in \programmi\mysql\mysql server 5.x\bin

    lo si lancia da riga di comando con queste opzioni principali

    mysqldump -uroot -ppassword --opt --default-character-set=latin1 nomedbdacopiare >copia.sql

    dove "root" è l'utente root, "password" è ovviamente la relativa password
    nomedbdacopiare penso si capisca
    --opt non è strettamente indispensabile (attiva la modalità di consistenza mediante varie opzioni attivate automaticamente)
    --default-character-set=latin1 fa sì che il dump abbia il formato LATIN (che al 99% avrai usato) anzichè l'utf8

    il file che viene creato (copia.sql in questo esempio)
    può assomigliare a qualcosa tipo questo

    codice:
    -- MySQL dump 10.13  Distrib 5.1.40, for Win64 (unknown)
    --
    -- Host: localhost    Database: agenzia
    -- ------------------------------------------------------
    -- Server version	5.1.40-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 `clienti`
    --
    
    DROP TABLE IF EXISTS `clienti`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `clienti` (
      `CodiceCliente` char(7) DEFAULT NULL,
      `Ditta` varchar(160) DEFAULT NULL,
      (...)
    ) ENGINE=InnoDB AUTO_INCREMENT=4044 DEFAULT CHARSET=latin1 CHECKSUM=1;
    /*!40101 SET character_set_client = @saved_cs_client */;
    
    --
    -- Dumping data for table `clienti`
    --
    
    LOCK TABLES `clienti` WRITE;
    /*!40000 ALTER TABLE `clienti` DISABLE KEYS */;
    INSERT INTO `clienti` VALUES ('A0','\'AIRIN\ (...)
    /*!40000 ALTER TABLE `clienti` ENABLE KEYS */;
    UNLOCK TABLES;
    Bene, in mezzo a quella "spazzatura" devi tirar via tutto
    (ti consiglio notepad++) tranne le istruzioni
    CREATE TABLE e le successive INSERT

    Essendo comandi standard SQL al 99% dovresti poter re-importare i dati nel db più vecchio.

    Essenzialmente "purga" e lascia qualcosa tipo
    codice:
    CREATE TABLE `clienti` (
      `CodiceCliente` char(7) DEFAULT NULL,
      `Ditta` varchar(160) DEFAULT NULL,
      (...)
    ) ENGINE=InnoDB AUTO_INCREMENT=4044 DEFAULT CHARSET=latin1 CHECKSUM=1;
    
    INSERT INTO `clienti` VALUES ('A0','\'AIRIN\ (...)
    Queste istruzioni puoi "importarle" sia mediante la riga di comando col programma mysql

    (mysql -uroot -ppassword nomedb <file.sql)
    oppure "brutalmente" eseguendolo come "comandone SQL"

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    11
    Scusami, ma non riesco a trovare mysqldump, considera che lavoro su server locale, e cioè sul mio computer, ed è li che debbp fare la conversione per poi metterla sul server remoto.

    Comunque con PHPMyAdmin ho estratto i due detebese dei quali allego di seguito una parte di essi.
    Ovviamente no è lo stesso database.

    Questa è una parte della versione 5.1x ed e quello che dovrebbe essere convertito alla versione 5.0x

    -- phpMyAdmin SQL Dump
    -- version 3.1.3.1
    -- http://www.phpmyadmin.net
    --
    -- Host: localhost
    -- Generato il: 24 mar, 2011 at 07:43 PM
    -- Versione MySQL: 5.1.33
    -- Versione PHP: 5.2.9

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


    /*!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 */;

    --
    -- Database: `gallery2`
    --

    -- --------------------------------------------------------

    --
    -- Struttura della tabella `g2_accessmap`
    --

    CREATE TABLE IF NOT EXISTS `g2_accessmap` (
    `g_accessListId` int(11) NOT NULL,
    `g_userOrGroupId` int(11) NOT NULL,
    `g_permission` int(11) NOT NULL,
    PRIMARY KEY (`g_accessListId`,`g_userOrGroupId`),
    KEY `g2_AccessMap_83732` (`g_accessListId`),
    KEY `g2_AccessMap_48775` (`g_userOrGroupId`),
    KEY `g2_AccessMap_18058` (`g_permission`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    --
    -- Dump dei dati per la tabella `g2_accessmap`
    --

    INSERT INTO `g2_accessmap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES
    (26, 3, 4),
    (28, 3, 4),
    (9, 4, 7),
    (10, 4, 7),
    (11, 4, 263),
    (12, 4, 8455),
    (14, 4, 24839),
    (15, 4, 57607),
    (19, 4, 123143),
    (20, 4, 516359),
    (22, 4, 1040647),
    (23, 4, 2089223),
    (8, 6, 2147483647),
    (9, 6, 2147483647),
    (10, 3, 2147483647),
    (10, 6, 2147483647),
    (11, 3, 2147483647),...................................... ........ ecc.

    Questo è una parte di un'altro database per la vesrione 5.0x, come si vede, il dump dei dati delle tabelle è strutturato diversamente.

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


    /*!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 */;

    --
    -- Database: `Sql307770_3`
    --

    -- --------------------------------------------------------

    --
    -- Struttura della tabella `g2_AccessMap`
    --

    DROP TABLE IF EXISTS `g2_AccessMap`;
    CREATE TABLE IF NOT EXISTS `g2_AccessMap` (
    `g_accessListId` int(11) NOT NULL,
    `g_userOrGroupId` int(11) NOT NULL,
    `g_permission` int(11) NOT NULL,
    PRIMARY KEY (`g_accessListId`,`g_userOrGroupId`),
    KEY `g2_AccessMap_83732` (`g_accessListId`),
    KEY `g2_AccessMap_48775` (`g_userOrGroupId`),
    KEY `g2_AccessMap_18058` (`g_permission`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    --
    -- Dump dei dati per la tabella `g2_AccessMap`
    --

    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(8, 6, 2147483647);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(9, 6, 2147483647);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(9, 4, 7);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(10, 4, 7);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(10, 6, 2147483647);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(10, 3, 2147483647);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(11, 3, 2147483647);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(11, 4, 263);
    INSERT INTO `g2_AccessMap` (`g_accessListId`, `g_userOrGroupId`, `g_permission`) VALUES(11, 6, 214

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.