Praca z silnikami baz danych MySQL

Ten artykuł jest wprowadzeniem do pracy z silnikami baz danych w MySQL .

aby wykonać niektóre procedury w tym artykule, musisz mieć dostęp root do serwera.

informacje o silnikach baz danych MySQL

silniki baz danych zapewniają podstawową funkcjonalność MySQL do pracy i przetwarzania danych.

dwa najpopularniejsze i najpopularniejsze silniki baz danych MySQL to MyISAM i InnoDB. MyISAM jest domyślnym silnikiem MySQL dla wersji wcześniejszych niż 5.5.5 i działa dobrze w większości scenariuszy. Jednak w zależności od potrzeb, istnieją sytuacje, w których lepszym wyborem może być inny silnik bazy danych, taki jak InnoDB. Na przykład InnoDB obsługuje transakcje, podczas gdy MyISAM nie. InnoDB zapewnia również obsługę kluczy obcych, podczas gdy MyISAM nie.

Jeśli masz dostęp roota do serwera, masz pełną kontrolę nad tym, jak i kiedy MySQL korzysta z różnych silników baz danych. Możesz zmienić domyślny silnik bazy danych, zmienić silnik bazy danych określonej tabeli i nie tylko.

ten artykuł zakłada, że wiesz już, jak uzyskać dostęp do MySQL z wiersza poleceń za pomocą programu mysql. Jeśli nie wiesz, jak to zrobić, przeczytaj najpierw ten artykuł.

określanie domyślnego silnika bazy danych

aby określić domyślny silnik bazy danych dla instalacji, wpisz następujące polecenie w wierszu polecenia mysql>:

SHOW ENGINES;

zostanie wyświetlona lista obsługiwanych silników wraz z krótkim opisem i obsługiwanymi funkcjami dla każdego silnika. Domyślny silnik bazy danych jest oznaczony jako domyślny w kolumnie wsparcia.

Zmiana domyślnego silnika bazy danych

możesz zmienić domyślny silnik bazy danych dla instalacji MySQL. Po wykonaniu tej czynności wszystkie nowe tabele, które utworzysz, będą korzystać z nowego silnika bazy danych (chyba że wyraźnie ustawisz silnik podczas tworzenia tabeli).

aby zmienić domyślny silnik bazy danych, wykonaj następujące kroki:

  1. użyj preferowanego edytora tekstu, aby otworzyć my.plik cnf na serwerze. Lokalizacja my.plik cnf zależy od twojej dystrybucji Linuksa:
    • na CentOS i Fedorze, my.plik cnf znajduje się w katalogu / etc.
    • na Debianie i Ubuntu, my.plik cnf znajduje się w katalogu/etc / mysql.
  2. w moimplik cnf, znajdź sekcję.
  3. Dodaj lub zmodyfikuj następujący wiersz w sekcji. Zastąp silnik nazwą silnika, którego chcesz użyć jako domyślnego:

    default-storage-engine=ENGINE

    Jeśli włączasz silnik bazy danych InnoDB, w zależności od twojej dystrybucji Linuksa może być konieczne wyłączenie następującej linii w my.plik cnf:

    skip-innodb

    aby to zrobić, wystarczy dodać znak funta ( # ) na początku wiersza, w następujący sposób:

    #skip-innodb

  4. Zapisz zmiany do my.plik cnf, a następnie zamknij Edytor tekstu.
  5. Uruchom ponownie serwer MySQL za pomocą odpowiedniego polecenia dla twojej dystrybucji Linuksa:

    • dla CentOS i Fedory, wpisz:
      service mysqld restart
    • dla Debiana i Ubuntu, wpisz:

      service mysql restart
  6. aby potwierdzić nowy domyślny silnik bazy danych, użyj instrukcji SQL Show engines, jak opisano w sekcji Określanie domyślnego silnika bazy danych.

określanie aktualnego silnika bazy danych tabeli

aby określić, którego silnika aktualnie używa tabela bazy danych, wpisz następujące polecenie w prompcie mysql>. Zamień bazę danych na nazwę bazy danych, którą chcesz sprawdzić:

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

To polecenie wyświetla listę każdej tabeli w bazie danych wraz z silnikiem, którego używa każda tabela.

zmiana silnika bazy danych tabeli

możesz zmienić silnik bazy danych dla tabeli, która już istnieje. Na przykład poniższe polecenie SQL pokazuje, jak zmodyfikować tabelę o nazwie myTable, aby używać silnika InnoDB:

ALTER TABLE myTable ENGINE = InnoDB;

Tworzenie nowej tabeli z określonym silnikiem bazy danych

podczas tworzenia tabeli w bazie danych można jawnie ustawić jej silnik bazy danych (w przeciwnym razie MySQL używa domyślnego silnika bazy danych podczas tworzenia tabeli). Na przykład poniższe polecenie SQL pokazuje, jak utworzyć tabelę o nazwie myTable, która korzysta z silnika bazy danych MyISAM:

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

aby utworzyć tabelę, która korzysta z silnika bazy danych InnoDB, możesz użyć następującego polecenia SQL:

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.