Arbeta med MySQL-databasmotorer

den här artikeln är en introduktion till att arbeta med databasmotorer i MySQL.

för att följa några av procedurerna i den här artikeln måste du ha root-åtkomst till servern.

om MySQL-databasmotorer

databasmotorer ger den underliggande funktionaliteten för MySQL att arbeta med och bearbeta data.

de två vanligaste och mest populära MySQL-databasmotorerna är MyISAM och InnoDB. MyISAM är standardmotorn för MySQL för versioner tidigare än 5.5.5, och fungerar bra i de flesta scenarier. Beroende på dina behov finns det dock situationer där en annan databasmotor, som InnoDB, kan vara det bättre valet. Till exempel stöder InnoDB transaktioner, medan MyISAM inte gör det. InnoDB ger också stöd för utländska nycklar, medan MyISAM inte gör det.

om du har root-åtkomst till din server har du fullständig kontroll över hur och när MySQL använder de olika databasmotorerna. Du kan ändra standarddatabasmotorn, ändra en specifik tabells databasmotor och mer.

den här artikeln förutsätter att du redan vet hur du kommer åt MySQL från kommandoraden med mysql-programmet. Om du inte vet hur du gör det, läs den här artikeln först.

bestämma standarddatabasmotorn

för att bestämma standarddatabasmotorn för din installation, skriv följande kommando vid MySQL>:

SHOW ENGINES;

en lista över motorer som stöds visas tillsammans med en kort beskrivning och de funktioner som stöds för varje motor. Standarddatabasmotorn är markerad som standard i supportkolumnen.

ändra standarddatabasmotorn

Du kan ändra standarddatabasmotorn för din MySQL-installation. När du har gjort det kommer alla nya tabeller som du skapar att använda den nya databasmotorn (om du inte uttryckligen ställer in motorn under tabellskapandet).

för att ändra standarddatabasmotorn, följ dessa steg:

  1. Använd din önskade textredigerare för att öppna my.cnf-fil på din server. Platsen för min.cnf-fil beror på din Linux-distribution:
    • på CentOS och Fedora, my.cnf-filen finns i katalogen / etc.
    • på Debian och Ubuntu, my.cnf-filen finns i katalogen/etc / mysql.
  2. I mitt.cnf-fil, leta reda på avsnittet.
  3. Lägg till eller ändra följande rad i avsnittet. Ersätt motorn med namnet på motorn som du vill använda som standard:

    default-storage-engine=ENGINE

    Om du aktiverar InnoDB-databasmotorn, beroende på din Linux-distribution kan du behöva inaktivera följande rad i my.cnf-fil:

    skip-innodb

    för att göra detta, lägg bara till ett pundtecken ( # ) i början av raden, enligt följande:

    #skip-innodb

  4. spara ändringarna i my.cnf-fil och avsluta sedan textredigeraren.
  5. Starta om MySQL-servern med lämpligt kommando för din Linux-distribution:

    • för CentOS och Fedora, skriv:
      service mysqld restart
    • för Debian och Ubuntu, skriv:

      service mysql restart
  6. för att bekräfta den nya standarddatabasmotorn, använd SQL-satsen visa motorer som beskrivs i avsnittet bestämma standarddatabasmotor.

bestämma en tabells nuvarande databasmotor

för att bestämma vilken motor en databastabell för närvarande använder, Skriv följande kommando vid MySQL> prompten. Ersätt databas med namnet på databasen som du vill kontrollera:

SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database';

detta kommando visar en lista över varje tabell i databasen, tillsammans med motorn varje tabell använder.

ändra en tabells databasmotor

Du kan ändra databasmotorn för en tabell som redan finns. Följande SQL-sats visar till exempel hur du ändrar en tabell med namnet myTable för att använda InnoDB-motorn:

ALTER TABLE myTable ENGINE = InnoDB;

skapa en ny tabell med en specifik databasmotor

När du skapar en tabell i en databas kan du uttryckligen ställa in dess databasmotor (annars använder MySQL standarddatabasmotorn under skapandet av tabeller). Följande SQL-sats visar till exempel hur du skapar en tabell med namnet myTable som använder MyISAM-databasmotorn:

CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE MyISAM;

Simiarly, för att skapa en tabell som använder InnoDB-databasmotorn kan du använda följande SQL-sats:

CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE InnoDB;

Lämna ett svar

Din e-postadress kommer inte publiceras.