Nâng cấp mysql 8.0

Hướng dẫn nâng cấp MySQL/MariaDB trên DirectAdmin

8 tháng trước

long vân

5 phút

I. tổng quan

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở [gọi tắt là RDBMS] hoạt động theo mô hình client-server.

MariaDB là hệ thống quản trị cơ sở dữ liệu miễn phí được phát triển từ hệ thống quản trị cơ sở dữ liệu mã nguồn mở MySQL. MariaDB được phát triển với mục đích thay thế công nghệ cơ sở dữ liệu MySQL, vì thế nó tương thích và cho hiệu suất cao hơn so với MySQL.

Một số tính năng thông thường được sử dụng trên MySQL/MariaDB

  • Tạo mới và quản lý cơ sở dữ liệu [hay còn gọi là Cơ sở dữ liệu]
  • Lưu trữ cơ sở dữ liệu [hay còn gọi là Cơ sở dữ liệu]
  • Hỗ trợ làm nền tảng để khởi tạo trang web
  • Đa tính năng. MySQL có thể hỗ trợ hàng loạt chức năng SQL từ hệ thống quản trị cơ sở dữ liệu quan hệ trực tiếp và cả gián tiếp trên nhiều nền tảng
II. Nâng cấp cơ sở dữ liệu
  1. Bước 1. Xác định loại cơ sở dữ liệu đang sử dụng [MySQL/MariaDB]. để kiểm tra cơ sở dữ liệu DirectAdmin đang sử dụng là loại nào, tiến trình như sau
    • Truy cập SSH vào máy chủ DirectAdmin
    • Truy cập MySQL bằng lệnh sau.
      # mysql -V
      or
      # mysql -u root -p
      Như ở . 5. 68”.
    • Ngoài ra, loại cơ sở dữ liệu đang sử dụng trên DirectAdmin cũng có thể kiểm tra bằng cách sử dụng custombuild, thực hiện các lệnh công cụ có thể thích sau.
      # cd /usr/local/directadmin/custombuild
      #. /xây dựng phiên bản
  2. Bước 2. Cập nhật MariaDB/MySQL
    • With MariaDB
      • B1. Di chuyển tới thư mục custombuild sau đó nhập các lệnh bên dưới để cập nhật phiên bản mới nhất của ứng dụng/dịch vụ mà Direct Admin quản lý.
        # cd /usr/local/directadmin/custombuild
        #. /bản cập nhật
        #. /bản dựng
      • B2. Specify version MariaDB muốn nâng cấp. Các phiên bản hỗ trợ trên DirectAdmin bao gồm 5. 5, 10. 0, 10. 1, 10. 2, 10. 3 và 10. 4
      • B3. Cập nhật lại phiên bản MariaDB
        Thực hiện các lệnh như sau. [trong ví dụ này sẽ nâng cấp phiên bản mariadb 10. 1]
        # cd /usr/local/directadmin/custombuild
        #. /bộ xây dựng mariadb 10. 1
        #. /build set mysql_inst mariadb
        #. /build set mysql_backup yes
        #. /bản cập nhật

        #. /build mariadb
        Khi chạy lệnh #. /build mariadb  ta đợi trong giây lát

        .
      • Lưu ý. When đã thực hiện các lệnh ‘. /bộ xây dựng *'. Chúng ta có thể xem lại tệp bằng lệnh dưới đây.
        # mèo /usr/local/directadmin/custombuild/options. conf
    • Với MySQL
      • B1. Di chuyển tới thư mục custombuild sau đó nhập các lệnh bên dưới để cập nhật phiên bản mới nhất của ứng dụng/dịch vụ mà Direct Admin quản lý.
        # cd /usr/local/directadmin/custombuild
        #. /bản cập nhật
        #. /bản dựng
      • B2. Specify version MySQL want to upgrade. Các phiên bản hỗ trợ trên DirectAdmin bao gồm 5. 1, 5. 5, 5. 6, 5. 7 hoặc 8. 0
      • B3. Cập nhật phiên bản MySQL bằng các lệnh sau. [ví dụ dưới đây sẽ nâng cấp lên phiên bản 8. 0]
        # cd /usr/local/directadmin/custombuild
        #. /xây dựng bộ mysql 8. 0
        #. /build set mysql_inst mysql
        #. /build set mysql_backup yes
        #. /bản cập nhật
  3. Bước 3. Xây dựng lại PHP
    • Sau khi cập nhật dịch vụ Cơ sở dữ liệu như MySQL/MariaDB, cần phải biên dịch lại phiên bản PHP để có thể cập nhật sử dụng các thư viện mới của dịch vụ MySQL/MariaDB đã được cập nhật, nếu không biên dịch lại sẽ dễ phát sinh lỗi hệ thống
    • Tiếp tục tiến trình cập nhật trong thư mục custombuild
      #. /xây dựng php n
    • Sau khi biên dịch lại phiên bản PHP, ta có thể tiến hành kiểm tra lại phiên bản hiện lại của MySQL/MariaDB bằng lệnh sau
      # mysql -V
      Hoặc các lệnh tương tự ở Bước 1

Như vậy, Long Vân đã hoàn thành hướng dẫn các bạn nâng cấp MySQL/MariaDB sử dụng bảng điều khiển DirecAdmin.
Chúc các bạn thành công.

Khi Amazon RDS hỗ trợ phiên bản mới của công cụ cơ sở dữ liệu, bạn có thể nâng cấp phiên bản DB của mình lên phiên bản mới. Có hai loại nâng cấp cho các phiên bản DB MySQL. nâng cấp phiên bản chính và nâng cấp phiên bản nhỏ

Nội dung chính Hiển thị

  • Tổng quan về nâng cấp
  • Upgrade phiên bản chính cho mysql
  • Tổng quan về việc nâng cấp phiên bản chính của MySQL
  • Upgrade up MySQL version 5. 7 could slow
  • PrecheCks to upgrade from MySQL 5,7 up 8. 0
  • Phục hồi sau khi không nâng cấp từ MySQL 5. 7 lên 8. 0
  • Kiểm tra nâng cấp
  • Upgrade phiên bản MySQL DB
  • Upgrade phiên bản nhỏ tự động cho MySQL
  • Đối chiếu với một số RDS cho các phiên bản chính của MySQL ở một số vùng AWS, một phiên bản nhỏ RDS chỉ được định nghĩa là phiên bản nâng cấp tự động. Sau khi một phiên bản nhỏ đã được Amazon RDS kiểm tra và phê duyệt, việc nâng cấp phiên bản nhỏ sẽ tự nhiên xảy ra trong cửa sổ bảo trì của bạn. RDS không tự động đặt phiên bản nhỏ được phát hành mới hơn phiên bản nâng cấp tự động. Trước khi RDS chỉ định phiên bản nâng cấp tự động mới hơn, một số tiêu chí được xem xét, giả định như sau
  • Phiên bản nhỏ trong MySQL là gì?
  • Tôi có thể cài đặt 2 phiên bản mysql không?
  • Bạn có thể nâng cấp bỏ qua giữa các phiên bản MySQL không?
  • Tôi có thể nâng cấp RDS không?

Nâng cấp phiên bản chính có thể chứa các thay đổi cơ sở dữ liệu không tương thích ngược với các ứng dụng hiện có. Do đó, bạn phải thực hiện nâng cấp phiên bản chính theo cách thủ công của phiên bản DB của mình. Bạn có thể bắt đầu nâng cấp phiên bản chính bằng cách sửa đổi phiên bản DB của bạn. Tuy nhiên, trước khi bạn thực hiện nâng cấp phiên bản chính, chúng tôi khuyên bạn nên làm theo các hướng dẫn trong việc nâng cấp phiên bản chính cho MySQL

Ngược lại, nâng cấp phiên bản nhỏ chỉ bao gồm các thay đổi tương thích ngược với các ứng dụng hiện có. Bạn có thể bắt đầu nâng cấp phiên bản nhỏ hơn theo cách thủ công bằng cách sửa đổi phiên bản DB của bạn. Hoặc bạn có thể bật tùy chọn nâng cấp phiên bản nhỏ tự động khi tạo hoặc sửa đổi phiên bản DB. Làm như vậy có nghĩa là phiên bản DB của bạn được tự động nâng cấp sau khi Amazon RDS kiểm tra và phê duyệt phiên bản mới. Để biết thông tin về việc thực hiện nâng cấp, hãy xem phiên bản nâng cấp cơ sở hạ tầng DB. Tùy chọn tự động nâng cấp phiên bản phụ khi tạo hoặc sửa đổi phiên bản CSDL. Làm như vậy có nghĩa là phiên bản CSDL của bạn sẽ tự động được nâng cấp sau khi Amazon RDS kiểm tra và phê duyệt phiên bản mới. Để biết thông tin về cách thực hiện nâng cấp, hãy xem Nâng cấp phiên bản công cụ phiên bản CSDL

Nếu phiên bản DB MySQL của bạn đang sử dụng Bản sao đọc, bạn phải nâng cấp tất cả các bản sao đọc trước khi nâng cấp nguồn. Nếu phiên bản DB của bạn đang phát triển khai thác tối đa AA, cả bản sao chính và dự phòng đều được nâng cấp. Ví dụ DB của bạn sẽ không khả dụng cho đến khi nâng cấp hoàn tất

Nâng cấp công cụ cơ sở dữ liệu yêu cầu thời gian chết. Khoảng thời gian chết khác nhau dựa trên kích thước có thể hiện DB của bạn

Chủ đề

  • Tổng quan về nâng cấp
  • Upgrade phiên bản chính cho mysql
  • Kiểm tra nâng cấp
  • Upgrade phiên bản MySQL DB
  • Upgrade phiên bản nhỏ tự động cho MySQL
  • Sử dụng sao đọc để giảm thời gian chết khi nâng cấp cơ sở dữ liệu MySQL

Tổng quan về nâng cấp

Upgrade phiên bản chính cho mysql

Kiểm tra nâng cấp

aws rds describe-db-engine-versions \
  --engine mysql \
  --engine-version version-number \
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Upgrade phiên bản MySQL DB

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version version-number ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Upgrade phiên bản nhỏ tự động cho MySQL

Kiểm tra nâng cấp

aws rds describe-db-engine-versions \
  --engine mysql \
  --engine-version 8.0.23 \
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Upgrade phiên bản MySQL DB

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Upgrade phiên bản nhỏ tự động cho MySQL

Sử dụng sao đọc để giảm thời gian chết khi nâng cấp cơ sở dữ liệu MySQL

Khi bạn sử dụng bảng điều khiển AWS để nâng cấp DB, nó sẽ hiển thị các mục nâng cấp hợp lệ cho phiên bản DB. Bạn có thể sử dụng lệnh AWS CLI sau đây để xác định các mục tiêu nâng cấp hợp lệ cho một DB có thể hiển thị

Đối chiếu với Linux, MacOS hoặc Unix

Cho cửa sổ

Ví dụ. để xác định các mục nâng cấp hợp lệ cho phiên bản MySQL phiên bản 8. 0. 23 dB, hãy chạy lệnh AWS CLI sau

Upgrade phiên bản chính cho mysql

Kiểm tra nâng cấp

  • Upgrade phiên bản MySQL DB

  • Upgrade phiên bản nhỏ tự động cho MySQL

Sử dụng sao đọc để giảm thời gian chết khi nâng cấp cơ sở dữ liệu MySQL

Khi bạn sử dụng bảng điều khiển AWS để nâng cấp DB, nó sẽ hiển thị các mục nâng cấp hợp lệ cho phiên bản DB. Bạn có thể sử dụng lệnh AWS CLI sau đây để xác định các mục tiêu nâng cấp hợp lệ cho một DB có thể hiển thị

Chủ đề

  • Tổng quan về việc nâng cấp phiên bản chính của MySQL
  • Upgrade up MySQL version 5. 7 could slow
  • PrecheCks to upgrade from MySQL 5,7 up 8. 0
  • Phục hồi sau khi không nâng cấp từ MySQL 5. 7 lên 8. 0

Tổng quan về việc nâng cấp phiên bản chính của MySQL

Upgrade up MySQL version 5. 7 could slow

PrecheCks to upgrade from MySQL 5,7 up 8. 0

Phục hồi sau khi không nâng cấp từ MySQL 5. 7 lên 8. 0

Nâng cấp phiên bản chính có thể chứa các thay đổi cơ sở dữ liệu không tương thích ngược với các ứng dụng hiện có. Do đó, Amazon RDS không tự động nâng cấp phiên bản chính; . Chúng tôi khuyên bạn nên kiểm tra kỹ thuật nâng cao mọi thứ trước khi áp dụng nó vào trường hợp sản xuất của bạn

Upgrade up MySQL version 5. 7 could slow

PrecheCks to upgrade from MySQL 5,7 up 8. 0

Phục hồi sau khi không nâng cấp từ MySQL 5. 7 lên 8. 0

Nâng cấp phiên bản chính có thể chứa các thay đổi cơ sở dữ liệu không tương thích ngược với các ứng dụng hiện có. Do đó, Amazon RDS không tự động nâng cấp phiên bản chính; . Chúng tôi khuyên bạn nên kiểm tra kỹ thuật nâng cao mọi thứ trước khi áp dụng nó vào trường hợp sản xuất của bạn

Để thực hiện nâng cấp phiên bản chính cho phiên bản MySQL phiên bản 5. 6 dB trên Amazon RDS lên MySQL phiên bản 5. 7 trở lên, trước tiên hãy thực hiện mọi cập nhật hệ điều hành hiện có. Sau khi cập nhật hệ điều hành hoàn tất, nâng cấp lên từng phiên bản chính. 5,6 đến 5,7 và sau đó là 5,7 đến 8. 0. Phiên bản MySQL DB được tạo trước ngày 24 tháng 4 năm 2014, hiển thị bản cập nhật or hệ điều hành có sẵn cho đến khi bản cập nhật or được áp dụng. Để biết thêm thông tin về cập nhật hệ điều hành, hãy xem ứng dụng của các bản cập nhật or cho DB có thể hiện

SET show_old_temporals = ON;
   SELECT table_schema, table_name,column_name, column_type
   FROM information_schema.columns
   WHERE column_type LIKE '%/* 5.5 binary format */';
   SET show_old_temporals = OFF;

PrecheCks to upgrade from MySQL 5,7 up 8. 0

Phục hồi sau khi không nâng cấp từ MySQL 5. 7 lên 8. 0

  • Nâng cấp phiên bản chính có thể chứa các thay đổi cơ sở dữ liệu không tương thích ngược với các ứng dụng hiện có. Do đó, Amazon RDS không tự động nâng cấp phiên bản chính; . Chúng tôi khuyên bạn nên kiểm tra kỹ thuật nâng cao mọi thứ trước khi áp dụng nó vào trường hợp sản xuất của bạn

  • Để thực hiện nâng cấp phiên bản chính cho phiên bản MySQL phiên bản 5. 6 dB trên Amazon RDS lên MySQL phiên bản 5. 7 trở lên, trước tiên hãy thực hiện mọi cập nhật hệ điều hành hiện có. Sau khi cập nhật hệ điều hành hoàn tất, nâng cấp lên từng phiên bản chính. 5,6 đến 5,7 và sau đó là 5,7 đến 8. 0. Phiên bản MySQL DB được tạo trước ngày 24 tháng 4 năm 2014, hiển thị bản cập nhật or hệ điều hành có sẵn cho đến khi bản cập nhật or được áp dụng. Để biết thêm thông tin về cập nhật hệ điều hành, hãy xem ứng dụng của các bản cập nhật or cho DB có thể hiện

  • Trong quá trình nâng cấp phiên bản chính của MySQL, Amazon RDS chạy nhị phân MySQL

    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    0 để nâng cấp các bảng, nếu cần thiết. Ngoài ra, Amazon RDS làm trống các bảng_______11 và
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    2 trong quá trình nâng cấp phiên bản chính. Để lưu giữ thông tin nhật ký, hãy lưu nội dung nhật ký trước khi nâng cấp phiên bản chính
  • Việc nâng cấp phiên bản chính của MySQL thường hoàn thành trong khoảng thời gian 10 phút. Một số nâng cấp có thể mất nhiều thời gian hơn do kích thước lớp có thể hiện DB hoặc do trường hợp không tuân theo các hướng dẫn hoạt động định trước trong các thành phần thực tốt nhất cho Amazon RDS. Nếu bạn nâng cấp một DB có thể hiển thị từ bảng điều khiển Amazon RDS, trạng thái của cá thể DB có thể cho biết khi nào nâng cấp hoàn tất. Nếu bạn nâng cấp bằng giao diện dòng lệnh AWS [AWS CLI], hãy sử dụng lệnh mô tả-db-instance và kiểm tra giá trị

    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    3

  • Phiên bản MySQL phiên bản 5. 6. 4 đã giới thiệu một định dạng ngày và thời gian mới cho các cột

    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    4,
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    5 và
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    6 cho phép các thành phần phân số theo giá trị ngày và thời gian. Khi nâng cấp có thể hiện DB lên MySQL phiên bản 5. 7, MySQL buộc phải chuyển đổi tất cả các loại cột ngày và thời gian sang định dạng mới

    bởi vì việc chuyển đổi này đã xây dựng lại bảng của bạn, có thể mất một khoảng thời gian đáng kể để hoàn thành việc nâng cấp phiên bản DB. Việc chuyển đổi bắt buộc xảy ra đối với bất kỳ trường hợp DB nào đang chạy phiên bản trước phiên bản MySQL 5. 6. 4. Nó cũng xảy ra đối với bất kỳ trường hợp DB nào được nâng cấp từ phiên bản trước phiên bản MySQL 5. 6. 4 up other version 5,7. Từ khóa và từ dành riêng trong tài liệu MySQL.

  • Nếu phiên bản DB của bạn đang chạy phiên bản trước phiên bản MySQL 5. 6. 4 hoặc được nâng cấp từ phiên bản trước 5. 6. 4, chúng tôi đề xuất một bước bổ sung. Trong những trường hợp này, chúng tôi khuyên bạn nên chuyển đổi các cột

    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    4,
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    5 và
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    6 trong cơ sở dữ liệu của bạn trước khi nâng cấp phiên bản DB của bạn lên phiên bản MySQL 5. 7. Chuyển đổi này có thể giảm đáng kể thời lượng cần thiết để nâng cấp DB lên phiên bản MySQL 5. 7. Để nâng cấp các cột ngày và giờ của bạn lên một định dạng mới, hãy cấm hành động
    aws rds describe-db-engine-versions \
      --engine mysql \
      --engine-version 8.0.23 \
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    0; . Do thay đổi bảng từ khóa thành chỉ đọc, chúng tôi khuyên bạn nên thực hiện bản cập nhật này trong cửa sổ bảo trì
  • Để tìm tất cả các bảng trong cơ sở dữ liệu của bạn có các cột

    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    4,
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    5 hoặc__
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version version-number ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    6 và tạo lực
    aws rds describe-db-engine-versions \
      --engine mysql \
      --engine-version 8.0.23 \
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    4;
  • mysql 8. 0 bao gồm một số khả năng không tương thích với MySQL 5. 7. Những sự cố không tương thích này có thể gây ra vấn đề trong quá trình nâng cấp từ MySQL 5. 7 lên MySQL 8. 0. Vì vậy, một số tiêu chuẩn có thể được yêu cầu trên cơ sở dữ liệu của bạn để nâng cao thành công. Sau đây là danh sách chung của những điều không tương thích này

  • Trước khi nâng cấp lên MySQL 8. 0. 13 trở lên, không có bảng phân vùng nào nằm trong bảng không gian InnoDB được chia sẻ

  • Không có truy vấn và định nghĩa chương trình được lưu trữ từ MySQL 8. 0. 12 hoặc thấp hơn vòng loại sử dụng

    aws rds describe-db-engine-versions \
      --engine mysql \
      --engine-version 8.0.23 \
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    9 hoặc
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    0 cho các điều khoản______31
  • Cài đặt MySQL 5. 7 của bạn không sử dụng được các tính năng không được hỗ trợ trong MySQL 8. 0

    Để biết thêm thông tin, hãy xem các tính năng bị xóa trong MySQL 8. 0 in MySQL document. Các tính năng bị loại bỏ trong MySQL 8. 0 trong tài liệu MySQL.

  • Unknown name to imprequested water outside long than 64 character

  • Để hỗ trợ Unicode được cải thiện, vui lòng xem xét các đối tượng chuyển đổi sử dụng Bộ ký tự

    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    2 to use Charset______33. The character
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    2 are not used more. Ngoài ra, hãy xem xét sử dụng
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    3 để biết các tài liệu tham khảo tập ký tự thay vì
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    6, vì hiện tại
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    6 là bí danh cho ký tự
    aws rds describe-db-engine-versions ^
      --engine mysql ^
      --engine-version 8.0.23 ^
      --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
    2

    Để biết thêm thông tin, hãy xem Bộ ký tự UTF8MB3 [mã hóa Unicode 3-byte UTF-8] trong tài liệu MySQL. Bộ ký tự utf8mb3 [mã hóa unicode UTF-8 3 byte] trong tài liệu MySQL.

Khi bạn bắt đầu nâng cấp từ MySQL 5. 7 lên 8. 0, Amazon RDS sẽ tự động chạy Prechecks để phát hiện những điều không tương thích này. Để biết thông tin về việc nâng cấp lên MySQL 8. 0, hãy xem nâng cấp MySQL trong tài liệu MySQL. Nâng cấp MySQL trong tài liệu MySQL.

Những kiểm tra trước này là bắt buộc. You can't select over them. Các kiểm tra trước cung cấp các lợi ích sau

  • Chúng cho phép bạn tránh thời gian chết không có kế hoạch trong quá trình nâng cấp

  • Nếu có sự cố không tương thích, Amazon RDS sẽ ngăn chặn việc nâng cấp và cung cấp nhật ký để bạn tìm hiểu về chúng. Sau đó, bạn có thể sử dụng ký tự nhật ký để chuẩn bị cơ sở dữ liệu của mình để nâng cấp lên MySQL 8. 0 bằng cách loại bỏ sự không tương thích. Để biết thông tin chi tiết về việc loại bỏ sự không tương thích, hãy xem Chuẩn cài đặt của bạn để nâng cấp trong tài liệu MySQL và nâng cấp lên MySQL 8. 0? . trên blog máy chủ MySQL. Chuẩn bị cài đặt để nâng cấp trong tài liệu MySQL và Nâng cấp lên MySQL 8. 0? . trên Blog máy chủ MySQL.

Các kiểm tra trước bao gồm một số được bao gồm trong MySQL và một số được tạo bởi nhóm Amazon RDS. Để biết thông tin về Kiểm tra trước do MySQL cung cấp, hãy xem Tiện ích kiểm tra nâng cấp. Nâng cấp tiện ích trình kiểm tra .

Các kiểm tra trước chạy trước khi DB có thể được dừng lại để nâng cấp, có nghĩa là chúng không gây ra bất kỳ thời gian chết nào khi chúng chạy. Nếu Prechecks thấy sự việc không tương thích, Amazon RDS sẽ tự động hủy nâng cấp trước khi dừng phiên bản DB. Amazon RDS cũng tạo ra một sự kiện cho sự không tương thích. Để biết thêm thông tin về các sự kiện của Amazon RDS, hãy xem làm việc với thông báo sự kiện của Amazon RDS

Amazon RDS ghi lại thông tin chi tiết về từng sự kiện không tương thích trong tệp nhật ký

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
9. Trong hầu hết các trường hợp, mục nhật ký bao gồm một liên kết đến tài liệu MySQL để sửa lỗi không tương thích. Để biết thêm thông tin về việc xem các tệp nhật ký, vui lòng xem và liệt kê các cơ sở dữ liệu cơ sở dữ liệu

Tính chất của các kiểm tra trước, chúng phân tích các đối tượng trong cơ sở dữ liệu của bạn. Phân vùng này dẫn đến tài nguyên thu nhập và tăng thời gian nâng cấp hoàn thành

Amazon RDS chạy tất cả các kiểm tra trước này chỉ để nâng cấp từ MySQL 5. 7 lên MySQL 8. 0. To upgrade from MySQL 5. 6 lên MySQL 5. 7, Kiểm tra trước giới hạn để xác nhận rằng không có bảng mồ côi và có đủ không gian lưu trữ để xây dựng lại bảng. Kiểm tra trước không chạy để nâng cấp để phát hành thấp hơn MySQL 5. 7

Phục hồi sau khi không nâng cấp từ MySQL 5. 7 lên 8. 0

When you upgrade phiên bản DB từ MySQL version 5. 7 up MySQL version 8. 0, việc nâng cấp có thể thất bại. Cụ thể, nó có thể thất bại nếu từ điển dữ liệu chứa những điều không tương thích không bị bắt bởi các kiểm tra trước. Trong trường hợp này, cơ sở dữ liệu không thể khởi động thành công trong phiên bản MySQL 8. 0 mới. Tại thời điểm này, Amazon RDS quay lại các thay đổi đã được thực hiện để nâng cấp. Sau khi quay lại, phiên bản DB MySQL đang chạy MySQL phiên bản 5. 7. Khi nâng cấp thất bại và được quay lại, Amazon RDS sẽ tạo ra một sự kiện với ID sự kiện RDS-EVENT-0188

Thông thường, việc nâng cấp không thành công vì có sự không tương thích trong siêu dữ liệu giữa các cơ sở dữ liệu trong phiên bản DB của bạn và phiên bản MySQL đích. Khi nâng cấp không thành công, bạn có thể xem chi tiết về những điều không tương thích này trong tệp

SET show_old_temporals = ON;
   SELECT table_schema, table_name,column_name, column_type
   FROM information_schema.columns
   WHERE column_type LIKE '%/* 5.5 binary format */';
   SET show_old_temporals = OFF;
0. Giải quyết sự cố không tương thích trước khi cố gắng nâng cấp một lần nữa

Trong quá trình nâng cấp và khôi phục không thành công, phiên bản DB của bạn đã được khởi động lại. Bất kỳ thay đổi tham số nào đang chờ xử lý được áp dụng trong quá trình khởi động lại và tồn tại sau khi quay lại

Để biết thêm thông tin về việc nâng cấp lên MySQL 8. 0, hãy xem các chủ đề sau trong tài liệu MySQL

  • Bạn đã cài đặt chuẩn bị để nâng cấp

  • Nâng cấp lên MySQL 8. 0?

Hiện tại, Rollback tự động sau khi nâng cấp thất bại chỉ được hỗ trợ cho phiên bản nâng cấp chính của MySQL 5. 7 đến 8. 0

Kiểm tra nâng cấp

Trước khi bạn thực hiện nâng cấp phiên bản chính trên phiên bản DB của mình, hãy kiểm tra kỹ lưỡng cơ sở dữ liệu của bạn để tương thích với phiên bản mới. Ngoài ra, hãy kiểm tra kỹ lưỡng tất cả các ứng dụng truy cập cơ sở dữ liệu để tương thích với phiên bản mới. Chúng tôi khuyên bạn nên sử dụng các quy trình sau

To check upgrade phiên bản chính

  1. Xem lại tài liệu nâng cấp cho phiên bản mới của công cụ cơ sở dữ liệu để xem liệu có sự cố tương thích nào có thể ảnh hưởng đến cơ sở dữ liệu hoặc ứng dụng của bạn không

    • Change in MySQL 5. 6

    • Change in MySQL 5. 7

    • Change in MySQL 8. 0

  2. Nếu phiên bản DB của bạn là thành viên của nhóm tham số DB tùy chỉnh, hãy tạo nhóm tham số DB mới với cài đặt hiện tại của bạn tương thích với phiên bản chính mới. Chỉ định nhóm tham số DB mới khi bạn nâng cấp phiên bản kiểm tra của mình, hãy làm như vậy, kiểm tra nâng cao của bạn để đảm bảo rằng nó hoạt động chính xác. Để biết thêm thông tin về việc tạo nhóm tham số DB, hãy xem công việc với nhóm tham số

  3. Tạo một ảnh chụp nhanh DB của DB có thể hiện để được nâng cấp. Để biết thêm thông tin, hãy xem Tạo ảnh chụp nhanh DB

  4. Khôi phục ảnh chụp nhanh DB để tạo phiên bản DB thử nghiệm mới. Để biết thêm thông tin, hãy xem Khôi phục từ ảnh chụp nhanh DB

  5. Sửa đổi phiên bản DB thử nghiệm mới này để nâng cấp nó lên phiên bản mới, sử dụng một trong các phương thức chi tiết sau đây. Nếu bạn đã tạo một nhóm tham số mới trong bước 2, hãy chỉ định nhóm tham số đó

  6. Đánh giá lưu trữ được sử dụng bởi trường hợp nâng cấp để xác định xem việc nâng cấp có yêu cầu lưu trữ bổ sung hay không

  7. Chạy càng nhiều bài kiểm tra càng đảm bảo chất lượng của bạn so với phiên bản DB được nâng cao khi cần thiết để đảm bảo rằng cơ sở dữ liệu và ứng dụng của bạn hoạt động chính xác với phiên bản mới. Thực hiện bất kỳ thử nghiệm mới nào cần thiết để đánh giá tác động của bất kỳ vấn đề tương thích nào mà bạn đã xác định trong Bước 1. Kiểm tra tất cả các quy trình và chức năng được lưu trữ. Phiên bản kiểm tra trực tiếp của các ứng dụng của bạn thành phiên bản DB được nâng cấp

  8. Nếu tất cả các thử nghiệm đều vượt qua, sau đó thực hiện nâng cao khả năng hiển thị DB sản phẩm của bạn. Chúng tôi khuyến nghị bạn không nên cho phép các hoạt động ghi vào DB để có thể hiện DB cho đến khi bạn xác nhận rằng mọi thứ đều hoạt động chính xác

Upgrade phiên bản MySQL DB

Để biết thông tin về tự động hoặc tự động nâng cấp phiên bản MySQL DB, hãy xem nâng cấp phiên bản cơ sở DB

Upgrade phiên bản nhỏ tự động cho MySQL

Nếu bạn chỉ định cài đặt sau khi tạo hoặc sửa đổi phiên bản DB, bạn có thể tự động nâng cấp DB

  • Phiên bản cài đặt nâng cấp phiên bản nhỏ tự động đã được bật. Đã bật cài đặt tự động nâng cấp phiên bản phụ

  • Cài đặt thời gian lưu phòng dự kiến ​​lớn hơn 0. Cài đặt thời gian lưu giữ sao lưu lớn hơn 0

Trong bảng điều khiển AWS, các cài đặt này nằm trong cấu hình bổ sung. Hình ảnh sau đây để cài đặt nâng cấp phiên bản nhỏ tự động. cấu hình bổ sung. Hình ảnh sau đây hiển thị cài đặt Nâng cấp phiên bản phụ tự động

Để biết thêm thông tin về các cài đặt này, hãy xem Cài đặt cho các phiên bản DB

Đối chiếu với một số RDS cho các phiên bản chính của MySQL ở một số vùng AWS, một phiên bản nhỏ RDS chỉ được định nghĩa là phiên bản nâng cấp tự động. Sau khi một phiên bản nhỏ đã được Amazon RDS kiểm tra và phê duyệt, việc nâng cấp phiên bản nhỏ sẽ tự nhiên xảy ra trong cửa sổ bảo trì của bạn. RDS không tự động đặt phiên bản nhỏ được phát hành mới hơn phiên bản nâng cấp tự động. Trước khi RDS chỉ định phiên bản nâng cấp tự động mới hơn, một số tiêu chí được xem xét, giả định như sau

  • Các vấn đề bảo mật đã biết

  • Error in MySQL version plus

  • Tổng thể sự ổn định của đội hoạt động kể từ khi phiên bản nhỏ được phát hành

Bạn có thể sử dụng lệnh AWS CLI sau đây để xác định phiên bản mục tiêu nâng cấp nhỏ tự động hiện tại cho phiên bản nhỏ MySQL được chỉ định trong một vùng AWS có thể

Đối chiếu với Linux, MacOS hoặc Unix

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
2

Cho cửa sổ

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
3

Ví dụ, lệnh AWS CLI sau đây xác định mục tiêu nâng cấp nhỏ tự động cho phiên bản nhỏ của MySQL phiên bản 8. 0. 11 tại khu vực AWS của Hoa Kỳ [Ohio] [US-East-2]

Đối chiếu với Linux, MacOS hoặc Unix

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
4

Cho cửa sổ

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
5

Ví dụ, lệnh AWS CLI sau đây xác định mục tiêu nâng cấp nhỏ tự động cho phiên bản nhỏ của MySQL phiên bản 8. 0. 11 tại khu vực AWS của Hoa Kỳ [Ohio] [US-East-2]

aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.23 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
6

Đầu ra của bạn tương tự như sau

Trong ví dụ này, value

SET show_old_temporals = ON;
   SELECT table_schema, table_name,column_name, column_type
   FROM information_schema.columns
   WHERE column_type LIKE '%/* 5.5 binary format */';
   SET show_old_temporals = OFF;
1 is
SET show_old_temporals = ON;
   SELECT table_schema, table_name,column_name, column_type
   FROM information_schema.columns
   WHERE column_type LIKE '%/* 5.5 binary format */';
   SET show_old_temporals = OFF;
2 for MySQL 8 version. 0,0. 23. Vì vậy, mục tiêu nâng cấp nhỏ tự động là MySQL phiên bản 8. 0. 23, being to in the first time
  • Phiên bản cài đặt nâng cấp phiên bản nhỏ tự động đã được bật. Đã bật cài đặt tự động nâng cấp phiên bản phụ

  • Cài đặt thời gian lưu phòng dự kiến ​​lớn hơn 0. Cài đặt thời gian lưu giữ sao lưu lớn hơn 0

  • Trong bảng điều khiển AWS, các cài đặt này nằm trong cấu hình bổ sung. Hình ảnh sau đây để cài đặt nâng cấp phiên bản nhỏ tự động

Để biết thêm thông tin về các cài đặt này, hãy xem Cài đặt cho các phiên bản DB

Đối chiếu với một số RDS cho các phiên bản chính của MySQL ở một số vùng AWS, một phiên bản nhỏ RDS chỉ được định nghĩa là phiên bản nâng cấp tự động. Sau khi một phiên bản nhỏ đã được Amazon RDS kiểm tra và phê duyệt, việc nâng cấp phiên bản nhỏ sẽ tự nhiên xảy ra trong cửa sổ bảo trì của bạn. RDS không tự động đặt phiên bản nhỏ được phát hành mới hơn phiên bản nâng cấp tự động. Trước khi RDS chỉ định phiên bản nâng cấp tự động mới hơn, một số tiêu chí được xem xét, giả định như sau

Các vấn đề bảo mật đã biết

Bằng cách sử dụng bản sao đọc, bạn có thể thực hiện hầu hết các bước bảo lưu trước thời hạn và giảm thiểu các thay đổi cần thiết trong thời gian Tiếp tục hoạt động thực tế. Với kỹ thuật này, bạn có thể kiểm tra và chuẩn bị để có thể hiện DB mới mà không thực hiện bất kỳ thay đổi nào đối với việc có thể hiện DB tại của bạn

Quy trình sau đây hiển thị một ví dụ về việc nâng cấp từ phiên bản MySQL 5. 7 up MySQL version 8. 0. Bạn có thể sử dụng các bước chung tương tự để nâng cấp các phiên bản chính khác

To upgrade cơ sở dữ liệu MySQL trong khi phiên bản DB đang được sử dụng

  1. Đăng nhập vào bảng điều khiển AWS và mở bảng điều khiển Amazon RDS tại https. // bảng điều khiển. aws. amazon. com/rds/. Trong khung điều hướng, chọn cơ sở dữ liệu và sau đó chọn phiên bản DB mà bạn muốn nâng cấp. Select Editing

    Nâng cấp MySQL là gì?

    Nâng cấp là một quy trình phổ biến, khi bạn chọn các bản sửa lỗi trong cùng một loạt bản phát hành MySQL hoặc các tính năng quan trọng giữa các bản phát hành MySQL chính. Bạn thực hiện quy trình này trước trên một số hệ thống thử nghiệm để đảm bảo mọi thứ hoạt động trơn tru, sau đó trên hệ thống sản xuất

    Tuyên bố cập nhật MySQL là gì?

    mysql 8. 0 Hướng dẫn tham khảo /. / UPDATE là câu lệnh DML sửa đổi các hàng trong bảng. Một câu lệnh CẬP NHẬT có thể bắt đầu bằng mệnh đề VỚI để xác định các biểu thức bảng chung có thể truy cập được trong CẬP NHẬT. Xem Phần 13. 2. 15, “VỚI [Biểu thức bảng thông dụng]”. Cú pháp bảng đơn

    Tại sao trình tối ưu hóa MySQL quay trở lại sau khi cập nhật thành công?

    Nếu bạn sử dụng câu lệnh CẬP NHẬT nhiều bảng liên quan đến các bảng InnoDB có ràng buộc khóa ngoại, trình tối ưu hóa MySQL có thể xử lý các bảng theo thứ tự khác với thứ tự của mối quan hệ cha/con của chúng. Trong trường hợp này, câu lệnh không thành công và quay trở lại

    Làm cách nào để hạn chế phạm vi cập nhật trong MySQL?

    Hàm mysql_info[] C API trả về số hàng đã khớp và được cập nhật cũng như số cảnh báo đã xảy ra trong quá trình CẬP NHẬT. Bạn có thể sử dụng GIỚI HẠN row_count để hạn chế phạm vi CẬP NHẬT. Mệnh đề LIMIT là một hạn chế so khớp hàng

Chủ Đề