Tôi hiện đang sử dụng InnoDB cho tất cả cơ sở dữ liệu của mình trong MySQL, tuy nhiên tôi chỉ nhận thấy rằng cơ sở dữ liệu information_schema của tôi sử dụng MyISAM cho các bảng không phải là MEMORY.Cơ sở dữ liệu MySQL engine: MyISAM cho information_schema nhưng InnoDB cho các cơ sở dữ liệu khác
Tôi đang trong quá trình điều tra sự cố InnoDB/MyISAM. Trong khi tôi không nghĩ rằng đây là nguyên nhân của nó, tôi lo lắng về sự pha trộn này. Cơ sở dữ liệu ban đầu được thiết lập với MyISAM. Sau đó các tập tin my.cnf đã được cập nhật để thiết lập lại các công cụ để InnoDB. Tôi đang sử dụng MySQL 5.5.10.
Các vấn đề có thể xảy ra khi đặt cơ sở dữ liệu information_schema thành MyISAM, nhưng tất cả cơ sở dữ liệu khác của bạn được đặt thành MySQL là gì?
Đối với những người tìm kiếm sự giúp đỡ: Nếu bạn đã xem qua câu hỏi này để tìm kiếm một câu trả lời hoặc bạn muốn biết thêm, để xem cơ sở dữ liệu mặc định của bạn:
show variables;
Để xem công cụ được gán cho các bảng trong cơ sở dữ liệu:
show table status;
Cài đặt my.cnf của tôi:
[client]
default-character-set=utf8
[mysqld]
log=/usr/local/var/mysql/mysqld.log
character-set-server = utf8
collation-server = utf8_general_ci
lower_case_table_names=2
default_storage_engine=InnoDB
# Performance hacks:
innodb_flush_method=nosync
innodb_flush_log_at_trx_commit=0