Tämä artikkeli on johdatus tietokantamoottoreiden kanssa työskentelyyn MySQL: ssä.
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.
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:
- 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.
- in the my.cnf-tiedosto, Paikanna osio.
-
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
- Tallenna muutokset my: hen.cnf tiedosto, ja sitten poistu tekstieditori.
-
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
- Centoille ja Fedoralle, type:
- 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;