Autore Topic: Database InnoDB + MyISAM + MEMORY tutto insieme.  (Letto 1769 volte)

Offline Daniele Pinna

  • Appassionato
  • ***
  • Post: 573
  • Sesso: Maschio
    • Mostra profilo
    • DAPINNA.COM di Daniele Pinna
Database InnoDB + MyISAM + MEMORY tutto insieme.
« il: 09 Apr 2016, 23:54:47 »
Salve a tutti :-)

Mi sono accorto che su almeno un paio di siti (ma temo che siano più o meno tutti così) che il database è un po pasticciato.

Mi ritrovo infatti Tabelle che usano come motore InnoDB, altre MyISAM e altre 2 MEMORY.
Inoltre alcune usano la codifica utf8_general_ci mentre altre utf8mb4_unicode_ci.

Uno di questi siti è stato aggiornato alla 3.5.0 e poi alla 3.5.1, l'altro è fermo alla 3.4.8
Con quello aggiornato alla 3.5.1 su
   Estensioni -> Gestione -> Database

trovo 3 errori (probabilmente causati da quel pasticcio :-) ):
Citazione
  •     La tabella 'idpj25_menu' non ha indice 'idx_client_id_parent_id_alias_language'. (Dal file 2.5.0-2011-12-24.sql.)
  •     La tabella 'idpj25_redirect_links' non ha indice 'idx_old_url'. (Dal file 3.5.0-2016-03-01.sql.)
  •     Le tabelle del database del core di Joomla! non sono ancora state convertite in UTF-8 Multibyte (utf8mb4).

E se tento di usare il pulsante "Correggi" dopo un po restituisce l'errore 500.

Ovviamente ho provato a correggere la situazione tramite phpMyAdmin... ma sulle tabelle che sono impostate come InnoDB mi segnala questo errore se faccio ripara tabella:

Citazione
The storage engine for the table doesn't support r...

(il messaggio è troncato così come l'ho riportato.)

Ho trovato i comandi SQL per convertire da MyISAM a InnoDB (ma ancora non li ho applicati).
Le tabelle che sono impostate in "MEMORY" devo lasciarle così oppure converto anche quelle?

Ringrazio Anticipatamente per le Risposte :-)






Offline Stefano Elix

  • Esploratore
  • **
  • Post: 98
  • Sesso: Maschio
  • PhotoArt.it
    • Mostra profilo
    • PhotoArt.it
Re:Database InnoDB + MyISAM + MEMORY tutto insieme.
« Risposta #1 il: 20 Lug 2016, 16:32:55 »
Ciao
anche io ho lo stesso problema su un sito
e mentre su altro e stato automatico con il tasto correggi e tutto ok
hai una soluzione
anche operando direttamente sul db

Grazie
Stefano Palai - photography
http://www.photoart.it  -  http://www.fototour360.it  -  http://www.timelapseitalia.net
BUONA LUCE A TUTTI

Offline Daniele Pinna

  • Appassionato
  • ***
  • Post: 573
  • Sesso: Maschio
    • Mostra profilo
    • DAPINNA.COM di Daniele Pinna
Re:Database InnoDB + MyISAM + MEMORY tutto insieme.
« Risposta #2 il: 20 Lug 2016, 18:36:34 »
Ciao...
Sono riuscito a risolvere sul mio server locale (Ubuntu Server 16.04 con PHP 7 e MySQL non.ricordo.la.versione :-D)


La procedura è semplice:
- esporti il database in un file .sql
- lo apri con un editor di testo (consiglio notepad++)
- modifichi tutte le ricorrenze di MyISAM con InnoDB e salvi il file, possibilmente con un nuovo nome, giusto per sicurezza.
- importi le tabelle in un nuovo DB (oppure elimini prime tutte le tabelle).

Ovviamente verifica che tutto vada bene...
Io dopo questa procedura non ho riscontrato problemi, fai comunque sapere se ha funzionanto e/o se hai riscontrato problemi.




Offline Stefano Elix

  • Esploratore
  • **
  • Post: 98
  • Sesso: Maschio
  • PhotoArt.it
    • Mostra profilo
    • PhotoArt.it
Re:Database InnoDB + MyISAM + MEMORY tutto insieme.
« Risposta #3 il: 21 Lug 2016, 01:01:32 »
Grazie per la risposta
il problema che riscontro e che mi sono accorto del problema dopo il passaggio dalla 3.4.8 alla 3.6.0

il problema che segnala e il seguente
Codice: [Seleziona]
  La tabella 'ry832_menu' non ha indice 'idx_client_id_parent_id_alias_language'. (Dal file 2.5.0-2011-12-24.sql.)La tabella 'ry832_redirect_links' non ha indice 'idx_old_url'. (Dal file 3.5.0-2016-03-01.sql.)Le tabelle del database del core di Joomla! non sono ancora state convertite in UTF-8 Multibyte (utf8mb4).  scarico tutto in locale e faccio delle prove dato che il sito e in produzione ed attualmente con db di 135 MB
sarebbe meglio una query diretta sul db ???
...................
Grazie
Stefano Palai - photography
http://www.photoart.it  -  http://www.fototour360.it  -  http://www.timelapseitalia.net
BUONA LUCE A TUTTI

 

Torna su