2012-01-07 30 views
11

Tôi cần thêm cột vào bảng hiện tại của mình.thay đổi bảng mysql ngoại tuyến hay không?

Bảng này được sử dụng rất nhiều trong ngày và đêm. tôi phát hiện ra tôi cần phải thay đổi bằng cách sử dụng lệnh thay đổi được tìm thấy tại đây

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html 

Tôi đã thử nghiệm nó trên một máy chủ phát triển.

tôi mất khoảng 2 giờ để hoàn thành. Bây giờ tôi muốn thực hiện điều này trên máy chủ sản xuất?

điều này sẽ dừng trang web của tôi?

Trả lời

14

Tại sao không hiển thị một thông báo trên trang web nói rằng bạn sẽ thực hiện bảo trì theo thời nửa đêm UTC 07 tháng 1 năm 2012.

Bằng cách này, bạn sẽ không phá vỡ bất kỳ dữ liệu, bạn sẽ không nhận được bất kỳ lỗi mysql. bạn thực hiện ALTER của bạn và bạn bắt đầu lại trang web khi nó hoàn thành (đừng quên mã của bạn để chắc chắn rằng bạn có trường đúng vv ..). Giải pháp dễ dàng.

Stackoverflow hiện nó, tại sao không phải của bạn?

+0

tôi thích ý tưởng đó nhưng khi nào? –

+0

có tôi không có "thời gian hoàn hảo" cho mỗi nói, kiểm tra số liệu thống kê của bạn và xem khi nào bạn không có hoặc lưu lượng truy cập thấp và làm thay đổi sau đó. –

+0

ý tưởng hay, cảm ơn sự giúp đỡ của bạn –

0

Nó sẽ không dừng trang web của bạn, nhưng nó có thể làm cho nó ném lỗi.

Tất nhiên không có cách nào để trả lời câu hỏi này mà không xem xét tất cả mã của ứng dụng của bạn.

Điểm mấu chốt là, khi nghi ngờ lên lịch một cửa sổ bảo trì.

1

Có, trong BẢNG ALTER, tất cả các lần đọc và ghi đều bị chặn. Nếu trang web của bạn cần sử dụng bảng đó, các yêu cầu sẽ bị treo.

Hãy thử pt-online-schema-change. Nó cho phép đọc và ghi để tiếp tục, trong khi nó nắm bắt các thay đổi được lặp lại với bảng đã thay đổi khi việc tái cơ cấu được thực hiện.

Kiểm tra kỹ trên máy chủ phát triển của bạn để bạn biết cách hoạt động và những gì mong đợi.

+2

có vẻ phức tạp –

-3
  1. Làm cho máy chủ sản xuất trỏ tới dev db (hoặc) gương của sản phẩm dự phòng db trong một thời gian.
  2. Thay đổi bảng trong sản xuất
  3. Triển khai mã mà nói chuyện với db sản xuất (với các thuộc tính mới)

Tái bút: Tôi cảm thấy đây là an toàn hơn và là một cách chứng minh kẻ ngốc (dựa trên kinh nghiệm của tôi).

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