Työskentely MySQL-tietokantamoottoreiden kanssa

Tämä artikkeli on johdatus tietokantamoottoreiden kanssa työskentelyyn MySQL: ssä.

noudattaaksesi joitakin tässä artikkelissa esitettyjä menettelytapoja, sinulla on oltava pääkäyttäjän pääsy palvelimelle.

tietoja MySQL-tietokantamoottoreista

Tietokantamoottorit tarjoavat taustalla olevat toiminnot MySQL: n tietojen työstämiseen ja käsittelyyn.

kaksi yleisintä ja suosituinta MySQL-tietokantamoottoria ovat MyISAM ja InnoDB. MyISAM on oletuksena Moottori MySQL versiot ennen 5.5.5, ja toimii hyvin useimmissa skenaarioissa. Tarpeista riippuen on kuitenkin tilanteita, joissa toinen tietokantamoottori, kuten InnoDB, voi olla parempi valinta. Esimerkiksi InnoDB tukee transaktioita, kun taas MyISAM ei. InnoDB tarjoaa tukea myös ulkomaisille avaimille, kun taas MyISAM ei.

Jos sinulla on pääkäyttäjän pääsy palvelimeesi, sinulla on täysi kontrolli siitä, miten ja milloin MySQL käyttää eri tietokantamoottoreita. Voit muuttaa oletustietokantamoottoria, muuttaa tietyn taulukon tietokantamoottoria ja paljon muuta.

tässä artikkelissa oletetaan, että osaat jo käyttää MySQL: ää komentoriviltä mysql-ohjelman avulla. Jos et tiedä, miten tämä tehdään, lue tämä artikkeli ensin.

määritettäessä oletustietokantamoottoria

määrittääksesi oletustietokantamoottoria asennuksellesi, kirjoita seuraava komento MySQL: ssä> kehote:

SHOW ENGINES;

luettelo tuetuista moottoreista, sekä lyhyt kuvaus ja tuetut ominaisuudet jokaiselle moottorille. Oletustietokantamoottori on merkitty oletukseksi Tukisarakkeessa.

muuttamalla oletustietokantamoottoria

voit muuttaa oletustietokantamoottoria MySQL-asennusta varten. Kun olet tehnyt tämän, kaikki uudet taulukot, jotka luot, käyttävät uutta tietokantamoottoria (ellet nimenomaisesti aseta moottoria taulukon luomisen aikana).

muuttaaksesi oletustietokantamoottoria, toimi seuraavasti:

  1. käytä haluamaasi tekstieditoria avataksesi my: n.cnf-tiedosto palvelimellasi. My: n sijainti.cnf-tiedosto riippuu Linux-jakelustasi:
    • Centosista ja Fedorasta, my: stä.cnf-tiedosto sijaitsee / etc-hakemistossa.
    • Debianissa ja Ubuntussa, my: ssä.cnf-tiedosto sijaitsee /etc / mysql-hakemistossa.
  2. in the my.cnf-tiedosto, Paikanna osio.
  3. Lisää tai muokkaa kohdassa seuraavaa riviä. Korvaa Moottori sen Moottorin nimellä, jota haluat käyttää oletuksena:

    default-storage-engine=ENGINE

    Jos otat InnoDB-tietokantamoottorin käyttöön, Linux-jakelustasi riippuen saatat joutua poistamaan seuraavan rivin käytöstä my: ssä.cnf-tiedosto:

    skip-innodb

    tehdäksesi tämän, lisää vain punnan merkki (#) rivin alkuun seuraavasti:

    #skip-innodb

  4. Tallenna muutokset my: hen.cnf tiedosto, ja sitten poistu tekstieditori.
  5. Käynnistä MySQL-palvelin uudelleen käyttäen sopivaa komentoa Linux-jakelulle:

    • Centoille ja Fedoralle, type:
      service mysqld restart
    • Debianille ja Ubuntulle, type:

    service mysql restart
  6. vahvistaaksesi uuden oletustietokantamoottorin, käytä show engines SQL-lauseketta, joka on kuvattu oletustietokantamoottorin määritysosiossa.

määritettäessä taulukon nykyistä tietokantamoottoria

määrittääksesi, mitä moottoria tietokantataulukko tällä hetkellä käyttää, kirjoita seuraava komento mysql: n> kehote. Korvaa tietokanta tarkistettavan tietokannan nimellä:

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

Tämä komento näyttää luettelon jokaisesta tietokannan taulukosta sekä kunkin taulukon käyttämästä moottorista.

vaihtamalla taulukon tietokantamoottoria

voit vaihtaa tietokantamoottoria jo olemassa olevaan taulukkoon. Esimerkiksi seuraava SQL-lauseke näyttää, miten myTable-nimistä taulukkoa voi muokata InnoDB-moottoria varten:

ALTER TABLE myTable ENGINE = InnoDB;

uuden taulukon luominen tietyllä tietokantamoottorilla

kun luot taulukon tietokantaan, voit määrittää sen tietokantamoottorin eksplisiittisesti (muuten MySQL käyttää oletustietokantamoottoria taulukon luomisen aikana). Esimerkiksi seuraava SQL-lauseke näyttää, miten luodaan taulu nimeltä myTable, joka käyttää MyISAM-tietokantamoottoria:

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

Simiarly, InnoDB-tietokantamoottoria käyttävän taulukon luomiseen voisi käyttää seuraavaa SQL-lausetta:

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

Vastaa

Sähköpostiosoitettasi ei julkaista.