Domanda

Come abilitare il supporto inno-db sull'istanza installata di MySql?

Ho installato mysql-5.0.67-win32. "InnoDB" è "DISABILITATO" quando si eseguono "show engine". Secondo la documentazione MySql è compilato con il supporto di inno-db (Da doc: un valore di DISABLED si verifica sia perché il server è stato avviato con un'opzione che disabilita il motore, sia perché non sono state fornite tutte le opzioni necessarie per abilitarlo.)

In my.ini ho commentato la riga con 'skip-innodb'. Questo non ha aiutato. Tutte le altre variabili relative a inno-db rimangono invariate.

Ho eseguito alcune azioni insolite prima di sperimentare una situazione descritta. Ho installato mysql-4.0.17-win. Lo disinstallo e dopo aver installato mysql-5.0.67-win32. Nella procedura guidata di installazione ho scelto solo il supporto MyISAM (per quanto ho capito ho disabilitato il supporto inno-db in questo modo. Quando ho provato a reinstallare con il supporto di inno-db ho avuto problemi nell'uso del mio precedente database "mysql" con le informazioni sull'account) .

La documentazione di MySQL dice che dovrei usare mysqldump per esportare i dati e successivamente importare i dati esportati durante il processo di aggiornamento. Ho provato a farlo, ma durante l'importazione dei dati ho ottenuto un messaggio sull'errore di sintassi (penso che sia collegato ad alcune incompatibilità della 4a e 5a versione di mysql)

È stato utile?

Soluzione 6

Ho risolto il problema.

In breve: Non sono stato in grado di scaricare database su MySql4 e ripristinarlo su MySql5 a causa di strani errori sintattici durante l'importazione dei dati.

Dopo l'installazione ho provato a sostituire i database MySql5 con quelli vecchi, incluso il database 'mysql'. Funziona bene ma non sono stato in grado di abilitare il supporto inno-db. (In tal modo sono stato persino in grado di utilizzare la funzione PASSWORD per le vecchie password (anziché OLD_PASSWORD))

Poiché la struttura del database di 'mysql' è stata modificata nella versione 5, ho provato a installare nuovamente MySql5 e ho copiato i miei vecchi database tranne quello 'mysql'. Successivamente ho aggiornato il database "mysql" con la versione corretta dei dati esportati da "mysql". In questo modo ho ottenuto mysql 5 funzionante.

Dopotutto ho anche eseguito
mysqlcheck --all-databases --auto-repair
per aggiornare i miei tavoli.

P.S. Grazie agli autori di tutte le risposte che mi suggeriscono il modo corretto di risolvere il problema.

Altri suggerimenti

Dovrebbe essere abilitato per impostazione predefinita. Ci sono alcune situazioni in cui permessi errati sulla cartella lib di MySQL fanno abbaiare InnoDB. Controlla se nel registro degli errori MySQL sono presenti errori di autorizzazione.

Ho le seguenti opzioni innodb in my.ini. È una configurazione molto minimale, quindi non usare questi valori se desideri che mysql abbia una buona prestazione. Riavvia mysql dopo una modifica di my.ini.

#*** INNODB Specific options ***
innodb_data_home_dir="C:/mysqldata/"
#skip-innodb
innodb_additional_mem_pool_size=120M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_buffer_pool_size=10M
innodb_log_file_size=2M
innodb_thread_concurrency=8

Forse hai disabilitato inno-db nel file di configurazione globale. Su Linux questo sarebbe qualcosa come /etc/mysql/my.cnf - forse Windows ha un file conf globale simile.

Assicurati di modificare il file my.ini corretto. Su Windows, questo viene letto da molte posizioni. L'ordine è:

  1. WINDIR \ my.ini, WINDIR \ my.cnf
  2. C: \ my.ini, C: \ my.cnf
  3. INSTALLDIR \ my.ini, INSTALLDIR \ my.cnf
  4. defaults-extra-file

Digita mysql --help nel prompt dei comandi per vedere l'ordine reale sul tuo computer, ad es .:

  

Le opzioni predefinite vengono lette dal   seguenti file nell'ordine indicato:   C: \ my.ini C: \ my.cnf C: \ WINDOWS \ my.ini   C: \ WINDOWS \ my.cnf C: \ Program   File \ MySQL \ M ySQL Server 5.0 \ my.ini   C: \ Programmi \ MySQL \ MySQL Server   5.0 \ my.cnf

hai controllato i parametri di avvio? forse lo script della shell o il file batch che usi per avviare il server disabilitano il motore dalla riga di comando. I flag della riga di comando IIRC superano le impostazioni .ini.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top