Yum cập nhật mysql từ 5.1 đến 5.5


7

Tôi vừa mới trong quá trình 'cập nhật' một máy chủ. Một trong những cập nhật mà nó gợi ý để thực hiện là nâng cấp từ mysql 5.1 lên 5.5.

Máy chủ mysql hoạt động trong một thiết lập sao chép chính chủ với một phiên bản mysql 5.1 khác. Tôi cũng sẽ cập nhật bản gốc khác lên 5.5, nhưng muốn giữ một bản trực tuyến mọi lúc. Bậc thầy này cũng có một số nô lệ 5,1 mysql sao chép từ nó.

Có ai biết nếu:

  1. Cập nhật yum an toàn từ 5.1 đến 5.5 mà không cần xây dựng lại dữ liệu lớn
  2. nếu thiết lập sao chép ở trên sẽ là một vấn đề.

Chỉnh sửa: Đây là một cài đặt 5,4 centos. Tuy nhiên, các bản cập nhật đang đến từ repo không chuẩn.


Tôi đề nghị di chuyển đến serverfault, dường như nhiều hơn hẻm của họ; họ có thể sẽ hỏi nơi bạn có các gói mysql của bạn và các tập lệnh kích hoạt gói trông như thế nào. yumchỉ là công cụ kết thúc các rpmgiao dịch của bạn . :)

Phân phối gì?

Câu trả lời:


2

Thiết lập sao chép mà bạn không thể duy trì khi nâng cấp lên MySQL 5.5

Bạn sẽ phải đi với Master / Slave. Đây là lý do:

Ai đó đã hỏi một câu hỏi về sự vô nghĩa xuất hiện trong nhật ký nhị phân và tôi đã trả lời câu hỏi này

Trong câu trả lời của tôi, tôi đã giải thích rằng nhật ký nhị phân bắt đầu ở các vị trí khác nhau trong các phiên bản khác nhau của MySQL

Đây là những vị trí:

  • 107 cho MySQL 5.5
  • 106 cho MySQL 5.1
  • 98 cho MySQL 5.0 trở lại

Với nhân rộng, những con số này cũng áp dụng cho các bản ghi chuyển tiếp. Hiệu ứng ròng là Slave có thể sao chép từ phiên bản cũ hơn của MySQL, nhưng không phải là cách khác.

Bạn nên làm như sau:

  1. Chuyển đổi Master / Master thành Master / Slave
  2. Nâng cấp lên MySQL 5.5 trên Slave
  3. Trỏ tất cả các ứng dụng tại Slave (hiện được gọi là NewMaster)
  4. dịch vụ mysql dừng trên Master
  5. Nâng cấp lên MySQL 5.5 trên Master (hiện được gọi là NewSlave) nhưng không khởi động mysql
  6. dịch vụ mysql dừng trên NewMaster
  7. rsync / var / lib / mysql của NewMaster sang / var / lib / mysql của NewSlaves
  8. rm /var/log/mysql/master.info trên NewMaster
  9. rm /var/log/mysql/master.info trên NewSlave
  10. dịch vụ mysql bắt đầu - kết nối mạng trên NewMaster
  11. chạy RESET MASTER trên NewMaster
  12. dịch vụ mysql khởi động lại trên NewMaster
  13. dịch vụ mysql bắt đầu trên NewSlave
  14. chạy RESET MASTER trên NewSlave
  15. thiết lập Bản sao chính / Master bằng cách sử dụng vị trí 107 khi bắt đầu master_log_pose

Liên quan đến việc sử dụng yum để nâng cấp, tôi hoảng loạn và hét lên kinh hoàng khi nghĩ về nó.

Đây là cách tiếp cận bảo thủ hơn của tôi:

  1. Tôi sẽ mysqldump tất cả mọi thứ NGOẠI TRỪ lược đồ mysql.
  2. Chạy cái này để tạo SQL cho tất cả các khoản trợ cấp của người dùng mysql:

    mysql -hhostaddr -umyuserid -pmypassword --skip-cột-name -A -e "CHỌN CONCAT ('SHOW GRANTS FOR' '', user, '' '@' '', host, '' ';') TỪ mysql .user Người dùng WHERE <> '' "| mysql -hhostaddr -umyuserid -pmypassword --skip-cột-name -A | sed 's / $ /; / g'> /root/MySQLGrant.sql

  3. Gỡ cài đặt MySQL 5.1

  4. Cài đặt MySQL 5.5 từ RPM bằng tay.
  5. Tải /root/MySQLGrant.sql vào MySQL 5.5
  6. Tải dữ liệu mysqldump'd trở lại vào MySQL 5.5
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.