Thay đổi giá trị của biến default_storage_engine
không có hiệu lực trên các bảng hiện có. Tất cả những gì nó làm là tạo bảng mới với công cụ bạn đã chỉ định trong biến này khi bạn không chỉ định nó trong create table
của mình bản tường trình. Nó chỉ là một giá trị mặc định.
Cũng nên nhớ rằng bạn phải phân biệt giữa global
và session
các giá trị biến đổi. Để thực sự có MyISAM làm mặc định bất cứ khi nào bạn tạo một bảng mới và không chỉ cho phiên hiện tại, hãy làm như sau:
SET GLOBAL default_storage_engine=MYISAM;
Nếu bạn muốn giữ biến ở giá trị này ngay cả sau khi khởi động lại máy chủ, bạn phải đặt dòng follwing vào tệp mặc định của mình my.cnf
trong phần [mysqld]
default_storage_engine = MYISAM
Để chuyển đổi các bảng hiện tại của bạn sang MyISAM, hãy thực hiện việc này cho mọi bảng:
ALTER TABLE table_name ENGINE=MyISAM;
Nhưng hãy nhớ rằng ràng buộc khóa ngoại của bạn sẽ không hoạt động nữa, vì MyISAM không hỗ trợ nó. Nó sẽ không phàn nàn, nó sẽ bỏ qua nó. Vì vậy, bạn nên chắc chắn rằng, bạn biết mình đang làm gì :)