Cách chuyển đổi phiên bản MySQL trong Ubuntu

Vì vậy, trước khi nâng cấp máy chủ MySQL từ 5. 7 đến 8 sao lưu cơ sở dữ liệu và các tệp cấu hình

Để thực hiện sao lưu, hãy sử dụng lệnh “mysqldump” và sao lưu tất cả các cơ sở dữ liệu với người dùng chính của cơ sở dữ liệu

$ mysqldump --lock-all-tables --all-databases -uroot -proot > all_databases.sql

Vì vậy, sau khi sao lưu cơ sở dữ liệu mysql, hãy sao lưu tệp cấu hình bằng cách sử dụng “lệnh cp” trong thiết bị đầu cuối

$ sudo cp /etc/my.cnf /etc/my.cnf_bkp

Ngoài ra, bạn có thể kiểm tra phiên bản của cơ sở dữ liệu bằng cách đăng nhập vào cơ sở dữ liệu MySQL

$ mysql -uroot -proot
Cách chuyển đổi phiên bản MySQL trong Ubuntu
Cách chuyển đổi phiên bản MySQL trong Ubuntu

Vì vậy Sau khi đăng nhập vào máy chủ, chúng ta có thể xem phiên bản MySQL có nhiều tùy chọn khác để xem các phiên bản của MySQL

Bây giờ hãy xem từng bước để Nâng cấp Máy chủ MySQL từ 5. 7 đến 8 Ubuntu 18. 04. Tìm bảng cheat và sau khi Nâng cấp, vui lòng đến và đọc toàn bộ bài viết

Cheat Sheet để nâng cấp máy chủ MySQL từ 5. 7 đến 8 trong Ubuntu

1. Dừng máy chủ MySQL

$ sudo systemctl stop mysql

2. Tải xuống Kho lưu trữ và Cài đặt Gói

$ wget https://repo.mysql.com/mysql-apt-config_0.8.14-1_all.deb
$ sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb

3. Nâng cấp máy chủ MySQL từ 5. 7 đến 8 Ubuntu 18. 04

$ sudo apt-get update
$ sudo apt-get install mysql-server

4. Kiểm tra Phiên bản Máy chủ MySQL đang chạy sau khi Nâng cấp

$ sudo systemctl status mysql
$ mysql -uroot -proot

BƯỚC 1. Dừng máy chủ MySQL 5. 7

Vì vậy, trước khi nâng cấp, chúng tôi sẽ dừng máy chủ MySQL 5. 7 trong Ubuntu bằng cách sử dụng “lệnh systemctl”

$ sudo systemctl stop mysql

BƯỚC 2. Tải xuống Kho lưu trữ và Cài đặt Gói MySQL 8. 0 để nâng cấp

Vì vậy, khi máy chủ bị dừng, chúng tôi sẽ tải xuống kho lưu trữ bằng cách sử dụng “lệnh wget”

$ wget https://repo.mysql.com/mysql-apt-config_0.8.14-1_all.deb

Chúng tôi đã tải xuống gói, nếu bạn muốn tải xuống gói của bất kỳ phiên bản nào khác, có thể truy cập trang web chính thức của MySQL

Phần phụ trợ @Unacademy • Dữ liệu @Amazon • Nền tảng @Practo. Viết về Ngôn ngữ bên trong và Toán học trong Khoa học Máy tính

Cách chạy các phiên bản MySQL khác nhau trên cùng một máy chủ

Xuất bản ngày 01 tháng 6 năm 2016Cập nhật lần cuối vào ngày 18 tháng 1 năm 2017

Nhiều phiên bản MySQL chạy trên một máy chủ

Có nhiều tình huống yêu cầu bạn phải chạy nhiều phiên bản MySQL trên cùng một máy

Một số tình huống là

  • kiểm tra bản phát hành MySQL mới trong khi vẫn giữ nguyên thiết lập sản xuất hiện có
  • cấp cho những người dùng khác nhau quyền truy cập vào các máy chủ mysqld khác nhau mà họ tự quản lý

Vấn đề

Tôi có một máy có 5 sản phẩm đã được thiết lập. Tất cả các sản phẩm đang sử dụng MySQL 5. 5 làm cơ sở dữ liệu mặc định của họ. Bây giờ là lúc nâng cấp tất cả trừ một sản phẩm để sử dụng MySQL 5. 6. Bảng bên dưới hiển thị các yêu cầu về phiên bản trước và sau của MySQL cho các sản phẩm khác nhau. Nhìn vào bảng, chúng tôi thấy rằng tất cả các sản phẩm ngoại trừ sản phẩm C đều muốn sử dụng MySQL 5. 6

Sản phẩmPhiên bản MySQL trướcPhiên bản MySQL sauSản phẩm AMySQL 5. 5MySQL 5. 6Sản phẩm BMySQL 5. 5MySQL 5. 6Sản phẩm CMySQL 5. 5MySQL 5. 5Sản phẩm DMySQL 5. 5MySQL 5. 6Sản phẩm EMySQL 5. 5MySQL 5. 6

Vì tất cả trừ một sản phẩm đều yêu cầu MySQL 5. 6, hãy cài đặt nó trước và sau đó chúng ta sẽ tìm cách cài đặt MySQL 5. 5 cũng vậy

Cài đặt MySQL 5. 6

sudo apt-get update
sudo apt-get install mysql-server-5.6 mysql-server-core-5.6 mysql-client-5.6 mysql-client-core-5.6

Tại thời điểm này, chúng ta có MySQL 5. 6 lắng nghe tại cổng 3306 (cổng mặc định)

Cách tiếp cận giải pháp

Có một số cách tiếp cận mà bạn có thể đạt được nhiều phiên bản MySQL chạy trên cùng một máy. một số trong số họ là

  • Sử dụng nhị phân của phiên bản cụ thể
  • Xây dựng mọi thứ từ nguồn MySQL

Các vấn đề trong cách tiếp cận trên

Rõ ràng là chúng ta chỉ có thể có một phiên bản thiết lập MySQL trên máy bằng cách sử dụng quy trình cài đặt mặc định với apt-get. Do đó, nếu chúng tôi cố gắng cài đặt phiên bản này lên phiên bản khác, phiên bản này sẽ thay thế phiên bản đầu tiên và sẽ giữ lại phiên bản thứ hai. Do đó, chúng ta không thể có 2 phiên bản MySQL theo quy trình cài đặt mặc định

Xây dựng mọi thứ từ đầu liên quan đến rất nhiều phức tạp ở cấp nguồn. Để gỡ lỗi bất kỳ sự cố nào có thể phát sinh, bạn nên biết điều gì xảy ra trong các tập lệnh/lệnh khác nhau mà bạn chạy. Tôi đã dành một ngày để xây dựng từ nguồn, nhưng cuối cùng nó hoàn toàn lãng phí thời gian, công sức và gỡ lỗi

Docker để giải cứu

Nếu chúng tôi có một thùng chứa trong đó chúng tôi có MySQL 5. 5 và nếu chúng tôi có thể xuất bản (các) cổng của bộ chứa lên máy chủ, thì chúng tôi có thể kết nối với MySQL của bộ chứa giống như cơ sở dữ liệu cục bộ

Chúng ta có thể có tất cả những điều trên với Docker. Nếu bạn không biết docker là gì, vui lòng đọc tài liệu chính thức này

Cài đặt Docker

Để cài đặt Docker trên máy của bạn, hãy thực hiện lệnh sau trên trình bao của bạn

curl -sSL https://get.docker.com/ | sh

Loại bỏ MySQL 5. 5 thùng chứa

Thực hiện lệnh sau; . 5 hình ảnh và sẽ quay ra khỏi vùng chứa. Vùng chứa này sẽ có MySQL 5. 5 được cài đặt trên cổng 3306. Nhưng trên máy chủ, cổng 3310 sẽ được chuyển tiếp

sudo docker run --name mysql-55-container -p 127.0.0.1:3310:3306 -e MYSQL_ROOT_PASSWORD=rootpassword -d mysql:5.5

GHI CHÚ. Mật khẩu cho người dùng root là

curl -sSL https://get.docker.com/ | sh
0;

Kết nối với MySQL 5. 5

mysql -u root -p --host=127.0.0.1 --port=3310

Kết nối với MySQL 5. 6

mysql -u root -p

Và Voila. bạn có cả My SQL 5. 5 và MySQL5. 6 cài đặt và chạy trên cùng một máy

Giờ đây, bạn có thể định cấu hình sản phẩm ứng dụng C của mình để sử dụng máy chủ

curl -sSL https://get.docker.com/ | sh
1 và cổng 3310 và do đó, bạn có các sản phẩm A, B, D và E chạy trên MySQL 5. 6 và sản phẩm C chạy trên MySQL 5. 5

MySQLLinuxDockerKỹ sư Devops

Bài báo cáo

Thưởng thức bài viết này?

4

Chia sẻ

Arpit Bhayani

Phần phụ trợ @Unacademy • Dữ liệu @Amazon • Nền tảng @Practo. Viết về Ngôn ngữ bên trong và Toán học trong Khoa học Máy tính

Tôi là một lập trình viên đam mê, đam mê viết mã, thiết kế, khởi nghiệp và công nghệ. Hiện tại tôi đang làm việc tại Amazon với vị trí Kỹ sư phát triển phần mềm 2. Trước Amazon, tôi đang làm việc cho một công ty khởi nghiệp về chăm sóc sức khỏe tên là Practo, nơi tôi độc thân

Làm theo

Khám phá và đọc thêm các bài viết từ Arpit Bhayani

bắt đầu

Thưởng thức bài viết này?

Để lại một lượt thích và bình luận cho Arpit

4

Cách chuyển đổi phiên bản MySQL trong Ubuntu
Hãy là người đầu tiên chia sẻ ý kiến ​​của bạn

Cách chuyển đổi phiên bản MySQL trong Ubuntu
Hỗ trợ đánh dấu hương vị GitHub

Gửi đi

Arun Kumar Yadav

5 năm trước

Cảm ơn vì bài viết. Nó giúp tôi tiết kiệm được vài giờ

Hồi đáp

Craig Luân Đôn

6 năm trước

Cảm ơn vì đã viết bài này. Bạn đề xuất thiết lập Docker như thế nào để nó tự động bắt đầu quá trình đó khi khởi động?

Hồi đáp

toby

6 năm trước

tôi yêu cái này. Sẽ rất tốt nếu bạn cũng có thể cập nhật bài viết và viết điều gì đó liên quan đến quyền kết nối từ bên ngoài vùng chứa tới mysql cũng như di chuyển thư mục mysql bên ngoài vùng chứa docker

Làm cách nào để thay đổi phiên bản MySQL trong Ubuntu?

Bước 1. Chuẩn bị nâng cấp. .
Bước 2. Sao lưu cơ sở dữ liệu. .
Bước 3. Sao lưu tệp cấu hình cơ sở dữ liệu. .
Bước 4. Cài đặt cơ sở dữ liệu ghi âm. .
Bước 5. Gỡ cài đặt MySQL. .
Bước 6. Cài đặt MySQL 8. 0. .
Bước 7. Cấu hình cơ sở dữ liệu. .
Bước 8. Khôi phục cài đặt cơ sở dữ liệu và cài đặt tùy chỉnh

Cách hạ cấp MySQL 8 xuống 5. 7Ubuntu?

Dưới đây là phác thảo các bước. .
Xuất dữ liệu hiện có từ MySQL 8. 0 sử dụng sao lưu logic (tham khảo Chương 7, Sao lưu để biết các phương pháp sao lưu logic)
Cài đặt MySQL 5. 7
Tải tệp kết xuất vào MySQL 5. 7 (tham khảo Chương 8, Khôi phục dữ liệu để biết phương pháp khôi phục)
Chạy tiện ích mysql_upgrade

Cách nâng cấp MySQL 5. 7 đến 8 trong Linux?

Tất cả những gì bạn cần làm là chạy nâng cấp apt hoặc cập nhật yum và bạn đã sẵn sàng. Việc nâng cấp thậm chí còn thuận tiện hơn – trước đây, người ta phải nhớ chạy mysql_upgrade để đảm bảo tất cả các bảng hệ thống được nâng cấp đúng theo định dạng mà phiên bản MySQL mới yêu cầu.