Bài viết này giới thiệu cách làm việc với các công cụ cơ sở dữ liệu trong MySQL.
Để làm theo một số quy trình trong bài viết này, bạn phải có quyền truy cập root vào máy chủ.Giới thiệu về công cụ cơ sở dữ liệu MySQL
Công cụ cơ sở dữ liệu cung cấp chức năng cơ bản để MySQL làm việc và xử lý dữ liệu.
Hai công cụ cơ sở dữ liệu MySQL phổ biến và thông dụng nhất là MyISAM và InnoDB . MyISAM là công cụ mặc định cho MySQL cho các phiên bản cũ hơn 5.5.5 và hoạt động tốt trong hầu hết các tình huống. Tuy nhiên, tùy thuộc vào nhu cầu của bạn, có những trường hợp mà một công cụ cơ sở dữ liệu khác, chẳng hạn như InnoDB, có thể là lựa chọn tốt hơn. Ví dụ, InnoDB hỗ trợ các giao dịch, trong khi MyISAM thì không. InnoDB cũng cung cấp hỗ trợ cho các khóa ngoại, trong khi MyISAM thì không.
Nếu bạn có quyền truy cập root vào máy chủ của mình, bạn có toàn quyền kiểm soát cách thức và thời điểm MySQL sử dụng các công cụ cơ sở dữ liệu khác nhau. Bạn có thể thay đổi công cụ cơ sở dữ liệu mặc định, thay đổi công cụ cơ sở dữ liệu của một bảng cụ thể và hơn thế nữa.
Bài viết này giả định rằng bạn đã biết cách truy cập MySQL từ dòng lệnh bằng cách sử dụng mysql chương trình. Nếu bạn chưa biết cách thực hiện thì hãy đọc bài viết này trước nhé.Xác định công cụ cơ sở dữ liệu mặc định
Để xác định công cụ cơ sở dữ liệu mặc định cho cài đặt của bạn, hãy nhập lệnh sau tại mysql> lời nhắc:
SHOW ENGINES;
Danh sách các động cơ được hỗ trợ sẽ xuất hiện, cùng với mô tả ngắn gọn và các tính năng được hỗ trợ cho từng động cơ. Công cụ cơ sở dữ liệu mặc định được đánh dấu DEFAULT trong Hỗ trợ cột.
Thay đổi công cụ cơ sở dữ liệu mặc định
Bạn có thể thay đổi công cụ cơ sở dữ liệu mặc định cho cài đặt MySQL của mình. Sau khi bạn thực hiện việc này, tất cả các bảng mới mà bạn tạo sẽ sử dụng công cụ cơ sở dữ liệu mới (trừ khi bạn đặt công cụ một cách rõ ràng trong khi tạo bảng).
Để thay đổi công cụ cơ sở dữ liệu mặc định, hãy làm theo các bước sau:
- Sử dụng trình soạn thảo văn bản ưa thích của bạn để mở my.cnf tệp trên máy chủ của bạn. Vị trí của my.cnf tệp phụ thuộc vào bản phân phối Linux của bạn:
- Trên CentOS và Fedora, my.cnf tệp nằm trong / etc thư mục.
- Trên Debian và Ubuntu, my.cnf tệp nằm trong / etc / mysql thư mục.
- Trong my.cnf , định vị [mysqld] phần.
-
Thêm hoặc sửa đổi dòng sau trong [mysqld] tiết diện. Thay thế ĐỘNG CƠ với tên của công cụ mà bạn muốn sử dụng làm mặc định:
default-storage-engine=ENGINE
Nếu bạn đang bật công cụ cơ sở dữ liệu InnoDB, tùy thuộc vào bản phân phối Linux của bạn, bạn có thể phải tắt dòng sau trong my.cnf tệp:
skip-innodb
Để thực hiện việc này, chỉ cần thêm dấu thăng ( # ) xuống đầu dòng, như sau:
#skip-innodb
- Lưu các thay đổi vào my.cnf và sau đó thoát khỏi trình soạn thảo văn bản.
-
Khởi động lại máy chủ MySQL bằng lệnh thích hợp cho bản phân phối Linux của bạn:
- Đối với CentOS và Fedora, hãy nhập:
service mysqld restart
-
Đối với Debian và Ubuntu, hãy nhập:
service mysql restart
- Đối với CentOS và Fedora, hãy nhập:
- Để xác nhận công cụ cơ sở dữ liệu mặc định mới, hãy sử dụng KỸ THUẬT HIỂN THỊ Câu lệnh SQL như được mô tả trong phần Xác định công cụ cơ sở dữ liệu mặc định.
Xác định công cụ cơ sở dữ liệu hiện tại của bảng
Để xác định công cụ mà bảng cơ sở dữ liệu hiện đang sử dụng, hãy nhập lệnh sau tại mysql> lời nhắc. Thay thế cơ sở dữ liệu với tên của cơ sở dữ liệu mà bạn muốn kiểm tra:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database';
Lệnh này hiển thị danh sách mọi bảng trong cơ sở dữ liệu, cùng với công cụ mà mỗi bảng đang sử dụng.
Thay đổi công cụ cơ sở dữ liệu của bảng
Bạn có thể thay đổi công cụ cơ sở dữ liệu cho một bảng đã tồn tại. Ví dụ:câu lệnh SQL sau cho biết cách sửa đổi bảng có tên là myTable để sử dụng công cụ InnoDB:
ALTER TABLE myTable ENGINE = InnoDB;
Tạo một bảng mới với một công cụ cơ sở dữ liệu cụ thể
Khi bạn tạo một bảng trong cơ sở dữ liệu, bạn có thể đặt công cụ cơ sở dữ liệu của nó một cách rõ ràng (nếu không, MySQL sử dụng công cụ cơ sở dữ liệu mặc định trong quá trình tạo bảng). Ví dụ:câu lệnh SQL sau cho biết cách tạo một bảng có tên là myTable sử dụng công cụ cơ sở dữ liệu MyISAM:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE MyISAM;
Tương tự, để tạo một bảng sử dụng công cụ cơ sở dữ liệu InnoDB, bạn có thể sử dụng câu lệnh SQL sau:
CREATE TABLE myTable ( id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), data VARCHAR(20) NOT NULL ) ENGINE InnoDB;
Thông tin khác
- Để biết thêm thông tin về công cụ MyISAM, vui lòng truy cập http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html.
- Để biết thêm thông tin về công cụ InnoDB, vui lòng truy cập http://dev.mysql.com/doc/refman/5.5/en/innodb-storage-engine.html.