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
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 //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 //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. 6Vì 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 //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 //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 //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. 5MySQLLinuxDockerKỹ 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
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