2012-08-28 35 views
9

Trang web của tôi chạy trên máy chủ VDS. Tôi vừa phát hiện ra rằng máy chủ MySQL của tôi không hỗ trợ công cụ InnoDB, do đó tôi không thể sử dụng các giao dịch cơ sở dữ liệu trong ứng dụng của mình.Cuộc sống không có giao dịch (MyISAM)

Điều đó khiến tôi nghĩ rằng một số người không bao giờ có thể sử dụng giao dịch. Đây có phải là trường hợp không? Nếu vậy, làm thế nào để quản lý để phối hợp các hoạt động liên quan trên các bảng khác nhau trong MyISAM?

Nếu không, có cách nào để cài đặt InnoDB trên máy chủ MySQL chạy trên VDS không?

Cảm ơn!

+0

Nhà cung cấp dịch vụ lưu trữ của bạn là VDS của bạn là ai? – theon

+0

VDS64.com - những người này thật tuyệt. – Webmezha

Trả lời

11

Nếu bạn cần giao dịch, bạn cần giao dịch và MyISAM sẽ không cắt mù tạt.

Một số ứng dụng sẽ không cần giao dịch. Ví dụ; một ứng dụng không bao giờ chạy nhiều hơn một câu lệnh SQL có liên quan tại một thời điểm và không cần phải khôi phục nhiều câu lệnh SQL. Một ví dụ khác là một ứng dụng sử dụng MySQL như một kho khóa-giá trị đơn giản. Có nhiều trường hợp sử dụng không yêu cầu hỗ trợ giao dịch mức cơ sở dữ liệu.

Thật khó để trả lời phần thứ hai của câu hỏi của bạn mà không biết thêm chi tiết về VDS của bạn. Bạn là nhà cung cấp hosting? Bạn có quyền truy cập shell và quyền để thay đổi my.cnf? Nếu không, thì có thể bạn sẽ không thể kích hoạt InnoDB. Nếu bạn làm vậy, thì đây là một câu trả lời SO khác chi tiết cách bật InnoDB trên MySQL: How to enable INNODB in mysql

+0

Cảm ơn! Tôi chỉ thay đổi 'skip-innodb' thành' innodb = ON' trong ** my.cnf **, chuyển đổi bảng của tôi, và bây giờ mọi thứ hoạt động tốt! – Webmezha

4

Bạn thường có thể bật công cụ, cài đặt thành phần InnoDB theo cách thủ công hoặc đơn giản cài đặt lại phiên bản của MySQL bao gồm động cơ đó theo mặc định. MyISAM là cơ sở dữ liệu điên rồ, nhanh chóng ngớ ngẩn nhưng cũng không đáng tin cậy và dễ bị phá hủy nếu hệ thống của bạn không tắt đúng cách.

Chạy ứng dụng quan trọng trong MyISAM là một ý tưởng cực kỳ tồi tệ. Trường hợp bạn cần các bảng MyISAM vì lý do hiệu suất, chúng luôn phải được sử dụng một lần, dễ dàng được xây dựng lại từ một nguồn dữ liệu đáng tin cậy hơn.

Các vấn đề liên quan