Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Praca z silnikami baz danych MySQL

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

Aby wykonać niektóre procedury opisane w tym artykule, musisz mieć uprawnienia administratora do serwera.

Informacje o silnikach baz danych MySQL

Silniki baz danych zapewniają podstawową funkcjonalność MySQL do pracy z danymi i ich przetwarzania.

Dwa najpopularniejsze i najbardziej popularne 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 zdarzają się 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 uprawnienia administratora do swojego serwera, masz pełną kontrolę nad tym, jak i kiedy MySQL używa różnych silników baz danych. Możesz zmienić domyślny silnik bazy danych, zmienić silnik bazy danych konkretnej tabeli i nie tylko.

W tym artykule założono, że wiesz już, jak uzyskać dostęp do MySQL z wiersza poleceń za pomocą mysql program. Jeśli nie wiesz, jak to zrobić, najpierw przeczytaj ten artykuł.

Określanie domyślnego silnika bazy danych

Aby określić domyślny silnik bazy danych dla Twojej instalacji, wpisz następujące polecenie w mysql> monit:

SHOW ENGINES;

Pojawi się lista obsługiwanych silników wraz z krótkim opisem i obsługiwanych funkcji dla każdego silnika. Domyślny silnik bazy danych jest oznaczony jako DEFAULT w Pomocy kolumna.

Zmiana domyślnego silnika bazy danych

Możesz zmienić domyślny silnik bazy danych dla swojej 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.cnf plik na twoim serwerze. Lokalizacja my.cnf plik zależy od twojej dystrybucji Linuksa:
    • W CentOS i Fedorze plik my.cnf plik znajduje się w /etc katalog.
    • W Debianie i Ubuntu plik my.cnf plik znajduje się w /etc/mysql katalog.
  2. W my.cnf znajdź plik [mysqld] sekcja.
  3. Dodaj lub zmodyfikuj następujący wiersz w [mysqld] Sekcja. Wymień SILNIK z nazwą silnika, którego chcesz używać 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.cnf plik:

    skip-innodb

    Aby to zrobić, po prostu dodaj krzyżyk (# ) na początek wiersza w następujący sposób:

    #skip-innodb
  4. Zapisz zmiany w my.cnf pliku, a następnie wyjdź z edytora tekstu.
  5. Zrestartuj serwer MySQL za pomocą odpowiedniego polecenia dla twojej dystrybucji Linuksa:

    • W przypadku CentOS i Fedory wpisz:
      service mysqld restart
    • W przypadku Debiana i Ubuntu wpisz:

      service mysql restart
  6. Aby potwierdzić nowy domyślny silnik bazy danych, użyj POKAŻ SILNIKI Instrukcja SQL zgodnie z opisem w sekcji Określanie domyślnego silnika bazy danych.

Określanie bieżącego silnika bazy danych tabeli

Aby określić, którego silnika aktualnie używa tabela bazy danych, wpisz następujące polecenie w mysql> podpowiedź. Zastąp bazę danych z nazwą bazy danych, którą chcesz sprawdzić:

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

To polecenie wyświetla listę wszystkich tabel 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ższa instrukcja SQL pokazuje, jak zmodyfikować tabelę o nazwie myTable aby użyć silnika InnoDB:

ALTER TABLE myTable ENGINE = InnoDB;

Tworzenie nowej tabeli z określonym silnikiem bazy danych

Kiedy tworzysz tabelę w bazie danych, możesz jawnie ustawić jej silnik bazy danych (w przeciwnym razie MySQL używa domyślnego silnika bazy danych podczas tworzenia tabeli). Na przykład poniższa instrukcja SQL pokazuje, jak utworzyć tabelę o nazwie myTable który 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;

Podobnie, aby utworzyć tabelę korzystającą z silnika bazy danych InnoDB, możesz użyć następującej instrukcji SQL:

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

Więcej informacji

  • Aby uzyskać więcej informacji o silniku MyISAM, odwiedź http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html.
  • Aby uzyskać więcej informacji o silniku InnoDB, odwiedź http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Parsowanie daty w MySQL

  2. Wygeneruj sekwencję liczb całkowitych w MySQL

  3. Jak znaleźć ostatni dzień miesiąca dla podanej daty w MySQL?

  4. Pięć najlepszych aplikacji umożliwiających dostęp do serwerów MySQL/MariaDB

  5. Rozwiązywanie problemów Nielegalna mieszanka błędów sortowania w mysql