Default Green Orange
Ovidiu's Box
Thinking inside and outside my box
Home Page Home
  • Despre mine
  • Resume
  • Biografie
  • Contact
RSS

  • Proiecte personale

  • Susțin

    Cazare Băile Herculane. Pensiunea Roua de Munte style=

  • Ciripeli pe Twitter

    • Am publicat un post nou pe blog-ul NOVIT: Interviurile semi-structurate http://bit.ly/9ClSUP #in 5 mins ago
    • 3 spam-uri cu productie felicitari de iarna, in aceeasi zi!? 6 mins ago
    • RT @novitro: Pe blog: La ce ajută filtrarea și monitorizarea accesului la Internet http://bit.ly/c8qOl5 2 hrs ago
    • De pe blog: Twitter mi-a stricat script-ul, SuperTweet l-a reparat http://bit.ly/aGTDEH 2 hrs ago
    • RT @novitro: Pe blog: La ce ajută filtrarea și monitorizarea accesului la Internet http://bit.ly/c8qOl5 17 hrs ago
    • More updates...
  • Ultimele comentarii

    • ovidiusoft on Twitter mi-a stricat script-ul, SuperTweet l-a reparat
    • mirel on D-Link DIR-300
    • Web Relations on Internetul la 4K/secundă
    • Ovidiu on Internetul la 4K/secundă
    • Web Relations on Internetul la 4K/secundă
  • Nu vezi caracterele românești?

    ăâîșț

    Pentru utilizatorii de Windows. Pentru ca diacriticele să fie afișate corect, instalează Actualizarea de fonturi corespunzătoare extinderii Uniunii Europene. Mai multe detalii sunt disponibile aici.

Cum se schimbă în MySQL de la InnoDB la MyISAM

Pinguinul din calculator Add comments

Cu câteva zile în urmă m-am decis să dezactivez engine-ul InnoDB pe câteva din VPS-urile de la NOVIT, pe are aveam extrem de puțin trafic pe 2 site-uri și un blog, încât nu se justifica utilizarea memoriei (InnoDB consumă vreo 10 MB în plus, spor de performanță inexistent în cazul meu).

Drept urmare, am editat /etc/mysql/my.cnf și am decomentat optiunea skip-innodb, am repornit MySQL și m-am apucat să testez toate aplicațiile care folosesc baze de date. Totul bine și frumos, mai puțin RoundCube (îl folosesc pentru webmail), care a ținut să mă înjure:

SERVICE CURRENTLY NOT AVAILABLE!
Error No. [0x01F4]

Am pus repede la loc InnoDB, a început să meargă RoundCube, și uitându-mă prin tabelele pe care și le-a făcut, s-a confirmat că engine-ul folosit era InnoDB. În mod normal, schimbarea engine-ului ar trebui să fie un alter table simplu, dar la mine s-a lăsat cu următoare oroare:

mysql> use roundcubemail;
mysql> alter table users engine = MyISAM;
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

Nici phpmyadmin nu s-a descurcat mai bine, iar alter table nu știe (sau nu știu eu?) să modifice mai multe tabele simultan. Soluția pe care o căutam pentru a modifica simultan toate tabelele care folosesc InnoDB s-a dovedit a fi backup, edit și restore. Mai exact, întâi am dump-at baza de date:

# mysqldump -u root -p roundcubemail > /tmp/dump

Următorul pas a fost să editez fișierul rezultat (/tmp/dump) și să înlocuiesc InnoDB cu MyISAM peste tot. În continuare, am șters baza de date existentă (aveam un backup, deci mi-am permis). Alternativ, phpmyadmin știe să facă rename.

mysql> drop database roundcubemail;

Apoi am creat o nouă bază de date cu vechiul nume și am restaurat datele din dump-ul pe care l-am editat mai sus:

mysql> create database roundcubemail;
# mysql roundcubemail -u root -p < /tmp/dump

Ultimul pas a fost să repun opțiunea skip-innodb în /etc/mysql/my.cnf (urmat de restart la MySQL) și RoundCube a mers perfect cu tabele MyISAM în loc de InnoDB.

  • Twitter
  • Facebook
  • LinkedIn
  • Google Reader
  • Google Bookmarks
  • Yahoo Messenger
  • Yahoo Mail
  • Google Gmail
  • Share/Bookmark

Related posts:

  1. Creare utilizatori MySQL N-am studiat niciodată SQL în mod serios și organizat (deși...


July 20th, 2009  
Tags: innodb, myisam, mysql, roundcube

Leave a Reply

CommentLuv Enabledshow more

  • Abonează-te

    • RSS post-uri
    • RSS comentarii
    • Email post-uri
    • Email comentarii
  • Categorii

  • Post-uri recente

    • Interviurile semi-structurate
    • Twitter mi-a stricat script-ul, SuperTweet l-a reparat
    • La ce ajută filtrarea și monitorizarea accesului la Internet
    • Internetul la 4K/secundă
    • Târgu Secuiesc, orașul fără rockeri
    • Ce faci când angajatul se dezvoltă mai rapid decât compania?
    • Ce-am mai citit – August 2010
    • Ce este și cum se face monitorizarea și filtrarea accesului la Internet
    • Repararea de drumuri la români
    • Și dacă am avea un singur impozit?
  • Post-uri aletoare

    • Politica de comentarii
    • Montand mobila
    • 12 sfaturi pentru o nuntă reușită
    • Cum se face un ice tea în 5 minute
    • Configurarea sistemelor angajaților
    • Plata facturilor
    • De ce mesajele care expiră nu sunt deloc o idee bună
    • Skins and color themes for Midnight Commander
    • ANC solicită blocarea accesului la 40 de site-uri pornografice
    • Citește o carte! - Strania poveste a lui Benjamin Button
  • Norișorul de etichete

    3g angajare angajati anunt auto backup banci blog carti cd cheat sheet creta cv email excursie google idiot impozite impresii intalnire internet interviu invitatie laptop linux mare munte muzica NOVIT online orson scott card plata protocoale recrutare resurse umane rlug romania script server servicii strategie taxe tunisia twitter wordpress
Copyright © 2010 Ovidiu's Box All Rights Reserved
Designed by i Software Reviews. Converted to 3 Columns by Ovidiu Constantin.
XHTML CSS Log in