Ez a cikk egy bevezetés a dolgozó adatbázis motorok MySQL.
a MySQL adatbázismotorokról
az Adatbázismotorok biztosítják a MySQL mögöttes funkcióit az adatok feldolgozásához.
a két leggyakoribb és legnépszerűbb MySQL adatbázis-motor a MyISAM és az InnoDB. A MyISAM a MySQL alapértelmezett motorja az 5.5.5-nél korábbi verzióknál, és a legtöbb esetben jól működik. Az Ön igényeitől függően azonban vannak olyan helyzetek, amikor egy másik adatbázis-motor, például az InnoDB lehet A jobb választás. Például az InnoDB támogatja a tranzakciókat, míg a MyISAM nem. Az InnoDB támogatja az idegen kulcsokat is, míg a MyISAM nem.
ha root hozzáféréssel rendelkezik a szerverhez, akkor teljes mértékben ellenőrizheti, hogy a MySQL hogyan és mikor használja a különböző adatbázis-motorokat. Megváltoztathatja az alapértelmezett adatbázis-motort, megváltoztathatja egy adott tábla adatbázis-motorját stb.
Az alapértelmezett adatbázismotor meghatározása
a telepítés alapértelmezett adatbázismotorjának meghatározásához írja be a következő parancsot a mysql> prompt:
SHOW ENGINES;
megjelenik a támogatott motorok listája, az egyes motorok rövid leírásával és támogatott funkcióival együtt. Az alapértelmezett adatbázismotor alapértelmezettnek van jelölve a támogatási oszlopban.
Az alapértelmezett adatbázis-motor módosítása
megváltoztathatja a MySQL telepítésének alapértelmezett adatbázis-motorját. Ezt követően az összes létrehozott új tábla az új adatbázismotort fogja használni (kivéve, ha kifejezetten beállítja a motort a Táblázat létrehozása során).
Az alapértelmezett adatbázismotor módosításához kövesse az alábbi lépéseket:
- használja a kívánt szövegszerkesztőt a my megnyitásához.cnf fájl a szerveren. A hely az én.cnf fájl függ a Linux disztribúció:
- a CentOS és A Fedora, a my.a cnf fájl az /etc könyvtárban található.
- A Debian és Ubuntu, Az én.a cnf fájl az /etc/mysql könyvtárban található.
- Az én-ben.cnf fájl, keresse meg a szakaszt.
-
adja hozzá vagy módosítsa a szakasz következő sorát. Cserélje ki a motort az alapértelmezettként használni kívánt motor nevére:
default-storage-engine=ENGINE
Ha engedélyezi az InnoDB adatbázismotort, a Linux disztribúciótól függően előfordulhat, hogy le kell tiltania a következő sort a my-ban.cnf fájl:
skip-innodb
ehhez csak adjon hozzá egy font jelet ( # ) a sor elejére, az alábbiak szerint:
#skip-innodb
- mentse a módosításokat a saját.cnf fájlt, majd lépjen ki a szövegszerkesztőből.
-
indítsa újra a MySQL szervert a Linux disztribúciójának megfelelő paranccsal:
- CentOS és Fedora esetén írja be:
service mysqld restart
-
Debian és Ubuntu esetén írja be:
service mysql restart
- CentOS és Fedora esetén írja be:
- az új alapértelmezett adatbázismotor megerősítéséhez használja a show engines SQL utasítást Az alapértelmezett adatbázismotor meghatározása szakaszban leírtak szerint.
>
A táblázat aktuális adatbázis-motorjának meghatározása
annak meghatározásához, hogy az adatbázis-tábla melyik motort használja, írja be a következő parancsot a mysql> parancssorba. Cserélje ki az adatbázist az ellenőrizni kívánt adatbázis nevére:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database';
Ez a parancs megjeleníti az adatbázis minden táblájának listáját, valamint az egyes táblák által használt motort.
táblázat adatbázis-motorjának módosítása
megváltoztathatja egy már létező tábla adatbázis-motorját. Például a következő SQL utasítás bemutatja, hogyan lehet módosítani a mytable nevű táblát az InnoDB motor használatához:
ALTER TABLE myTable ENGINE = InnoDB;
új tábla létrehozása egy adott adatbázis-motorral
amikor táblát hoz létre egy adatbázisban, kifejezetten beállíthatja annak adatbázis-motorját (különben a MySQL az alapértelmezett adatbázis-motort használja a táblázat létrehozásakor). A következő SQL utasítás például bemutatja, hogyan hozhat létre mytable nevű táblát, amely a MyISAM adatbázismotort használja:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE MyISAM;
az InnoDB adatbázismotort használó táblázat létrehozásához a következő SQL utasítást használhatja:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE InnoDB;