Giới thiệu
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở nổi tiếng và là một trong những giải pháp máy chủ web phổ biến nhất. Nó lưu trữ và cấu trúc dữ liệu một cách có ý nghĩa, đảm bảo khả năng tiếp cận dễ dàng. is a well-known open-source relational database management system and one of the most popular web server solutions. It stores and structures data in a meaningful manner, ensuring easy accessibility.
Docker & NBSP; là một tập hợp các sản phẩm dịch vụ nền tảng hỗ trợ phát triển CI/CD. Nó cho phép người dùng phát triển và triển khai các ứng dụng bên trong môi trường ảo, được gọi là container. Với một hình ảnh duy nhất, Docker có thể khởi động một ứng dụng với tất cả các thư viện và phụ thuộc của nó.is a set of platform-as-a-service products that support CI/CD development. It allows users to develop and deploy applications inside virtual environments, called containers. With a single image, Docker can boot up an application with all its libraries and dependencies.
Trong hướng dẫn này, hãy tìm hiểu cách triển khai container MySQL Docker và bắt đầu làm việc với cơ sở dữ liệu container.
Điều kiện tiên quyết
- Truy cập vào một dòng lệnh/cửa sổ thiết bị đầu cuối
- Tài khoản người dùng với & NBSP; Đặc quyền SUDO hoặc truy cập vào tài khoản gốcsudo privileges or access to the root account
- Cài đặt Docker hiện có
Nếu bạn cần thiết lập cơ sở dữ liệu một cách nhanh chóng và không sử dụng quá nhiều tài nguyên, việc triển khai MySQL trong một thùng chứa là một giải pháp nhanh chóng và hiệu quả. Điều này chỉ phù hợp cho các ứng dụng vừa và nhỏ. Các ứng dụng cấp doanh nghiệp sẽ không tìm thấy container MySQL Docker đủ cho khối lượng công việc của họ.deploying MySQL in a container is a fast and efficient solution. This is only appropriate for small and medium-sized applications. Enterprise-level applications would not find a MySQL Docker container sufficient for their workload.
Sử dụng phần mềm Docker để thiết lập cơ sở dữ liệu của bạn đang ngày càng trở nên phổ biến đối với các ứng dụng quy mô nhỏ. Thay vì có một máy chủ riêng để lưu trữ cơ sở dữ liệu, bạn có thể triển khai thùng chứa cơ sở dữ liệu MySQL.
Nhiều container có thể chạy trên máy tính của bạn. Các container chia sẻ cùng một hạt nhân và thư viện của máy chủ trong khi đóng gói ứng dụng hoặc phần mềm được triển khai thành các đơn vị. Điều này làm cho cơ sở dữ liệu cực kỳ nhẹ và nhanh để quay lên.
Cài đặt thùng chứa docker mysql
Thiết lập cơ sở dữ liệu trong Docker chỉ đơn giản là xây dựng một container dựa trên hình ảnh MySQL. Thực hiện theo các bước được nêu dưới đây để có được thùng chứa MySQL của bạn và chạy.
Bước 1: Kéo hình ảnh Docker MySQL
1. Bắt đầu bằng cách kéo hình ảnh Docker thích hợp cho MySQL. Bạn có thể tải xuống một phiên bản cụ thể hoặc chọn phát hành mới nhất như đã thấy trong lệnh sau:
sudo docker pull mysql/mysql-server:latest
Nếu bạn muốn có một phiên bản cụ thể của MySQL, hãy thay thế
sudo docker run --name=[container_name] -d [image_tag_name]
4 với số phiên bản.sudo docker run --name=[container_name] -d [image_tag_name]
4with the version number.2. Xác minh hình ảnh hiện được lưu trữ cục bộ bằng cách liệt kê các hình ảnh docker đã tải xuống:
sudo docker images
Đầu ra nên bao gồm
sudo docker run --name=[container_name] -d [image_tag_name]
5 trong số các hình ảnh được liệt kê.sudo docker run --name=[container_name] -d [image_tag_name]
5 among the listed images.Bước 2: Triển khai thùng chứa MySQL
1. Khi bạn có hình ảnh, hãy chuyển sang triển khai một thùng chứa MySQL mới với:
sudo docker run --name=[container_name] -d [image_tag_name]
- Thay thế
6 bằng tên bạn chọn. Nếu bạn không cung cấp một tên, Docker sẽ tạo ra một cái ngẫu nhiên.sudo docker run --name=[container_name] -d [image_tag_name]
6 with the name of your choice. If you do not provide a name, Docker generates a random one.sudo docker run --name=[container_name] -d [image_tag_name]
- Tùy chọn
7 hướng dẫn Docker chạy container dưới dạng dịch vụ trong nền.sudo docker run --name=[container_name] -d [image_tag_name]
7 option instructs Docker to run the container as a service in the background.sudo docker run --name=[container_name] -d [image_tag_name]
- Thay thế
8 bằng tên của hình ảnh được tải xuống trong bước 1.sudo docker run --name=[container_name] -d [image_tag_name]
8 with the name of the image downloaded in Step 1.sudo docker run --name=[container_name] -d [image_tag_name]
Trong ví dụ này, chúng tôi tạo một thùng chứa có tên
sudo docker run --name=[container_name] -d [image_tag_name]
9 với thẻ phiên bản sudo docker run --name=[container_name] -d [image_tag_name]
4:sudo docker run --name=[container_name] -d [image_tag_name]
9 with the sudo docker run --name=[container_name] -d [image_tag_name]
4 version
tag:sudo docker run --name=[container_name] -d mysql/mysql-server:latest
2. Sau đó, hãy kiểm tra xem container MySQL có đang chạy không:
docker ps
Bạn sẽ thấy container mới được tạo được liệt kê trong đầu ra. Nó bao gồm chi tiết container, một là trạng thái của môi trường ảo này. Trạng thái thay đổi từ
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
1 thành sudo docker run --name=[container_name] -d mysql/mysql-server:latest
2, sau khi thiết lập hoàn tất.sudo docker run --name=[container_name] -d mysql/mysql-server:latest
1 to sudo docker run --name=[container_name] -d mysql/mysql-server:latest
2, once the setup is complete.Bước 3: Kết nối với thùng chứa Docker MySQL
1. Trước khi bạn có thể kết nối thùng chứa máy chủ MySQL với máy chủ, bạn cần đảm bảo gói máy khách MySQL được cài đặt:
apt-get install mysql-client
2. Sau đó, hãy mở tệp nhật ký cho thùng chứa MySQL để tìm mật khẩu gốc được tạo:
sudo docker logs [container_name]
Đối với container
sudo docker run --name=[container_name] -d [image_tag_name]
9, chúng tôi chạy:sudo docker run --name=[container_name] -d [image_tag_name]
9 container, we run:sudo docker logs mysql_docker
3. Cuộn qua đầu ra và tìm dòng
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
4 :, Sao chép và dán mật khẩu vào trình soạn thảo notepad hoặc văn bản để bạn có thể sử dụng nó sau.sudo docker run --name=[container_name] -d mysql/mysql-server:latest
4: , copy and paste the password in a notepad or text editor so you can use it later.4. Tiếp theo, đi đến vỏ bash của thùng chứa MySQL bằng cách gõ:
sudo docker exec -it [container_name] bash
Đối với container được tạo làm ví dụ, chúng tôi chạy:
sudo docker -it mysql_docker bash
3. Cung cấp mật khẩu gốc bạn đã sao chép từ tệp nhật ký, khi được nhắc. Với điều đó, bạn đã kết nối máy khách MySQL với máy chủ.
4. Cuối cùng, thay đổi mật khẩu gốc máy chủ để bảo vệ thông tin của bạn:
sudo docker images
0Thay thế
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
5 bằng mật khẩu mạnh mẽ mà bạn chọn.sudo docker run --name=[container_name] -d mysql/mysql-server:latest
5 with a strong password of your choice.Định cấu hình container MySQL
Khi bạn cài đặt thùng chứa MySQL, bạn sẽ tìm thấy các tùy chọn cấu hình của nó trong thư mục
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
6.sudo docker run --name=[container_name] -d mysql/mysql-server:latest
6 directory.Nếu bạn cần sửa đổi cấu hình, hãy tạo một tệp cấu hình thay thế trên máy chủ và gắn chúng bên trong thùng chứa.
1. Đầu tiên, hãy tạo một thư mục mới trên máy chủ:
sudo docker images
12. Tạo tệp cấu hình MySQL tùy chỉnh bên trong thư mục đó:
sudo docker images
23. Một lần trong tệp, bạn có thể thêm các dòng với cấu hình mong muốn.
Ví dụ: nếu bạn muốn tăng số lượng kết nối tối đa lên 250 [thay vì mặc định 151], hãy thêm các dòng sau vào tệp cấu hình:
sudo docker images
34. Lưu và thoát tệp.
5. Để các thay đổi diễn ra, bạn cần xóa và chạy lại thùng chứa MySQL. Lần này, container sử dụng kết hợp các cài đặt cấu hình từ tệp mới được tạo và các tệp cấu hình mặc định.remove and rerun the MySQL container. This time, the container uses a combination of configuration settings from the newly created file and the default config files.
Để thực hiện việc này, hãy chạy container và ánh xạ đường dẫn âm lượng bằng lệnh:
sudo docker images
46. Để kiểm tra xem container có tải cấu hình từ máy chủ hay không, hãy chạy lệnh sau:
sudo docker images
5Bạn sẽ thấy rằng số lượng kết nối tối đa là
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
7.sudo docker run --name=[container_name] -d mysql/mysql-server:latest
7.Quản lý lưu trữ dữ liệu
Theo mặc định, Docker lưu trữ dữ liệu trong khối lượng nội bộ của nó.
Để kiểm tra vị trí của tập, hãy sử dụng lệnh:
sudo docker images
6Bạn sẽ thấy
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
8 được gắn trong khối lượng bên trong.sudo docker run --name=[container_name] -d mysql/mysql-server:latest
8 mounted in the internal volume.Bạn cũng có thể thay đổi vị trí của thư mục dữ liệu và tạo một trên máy chủ. Có một âm lượng bên ngoài container cho phép các ứng dụng và công cụ khác truy cập khối lượng khi cần.change the location of the data directory and create one on the host. Having a volume outside the container allows other applications and tools to access the volumes when needed.
1. Trước tiên, hãy tìm một âm lượng thích hợp trên máy chủ và tạo thư mục dữ liệu trên đó:
sudo docker images
72. Bây giờ hãy khởi động lại container, gắn thư mục được thực hiện trước đó:
sudo docker images
8Nếu bạn kiểm tra container, bạn sẽ thấy rằng thùng chứa MySQL hiện lưu trữ dữ liệu của nó trên hệ thống máy chủ. Chạy lệnh:
sudo docker images
6Bắt đầu, dừng lại và khởi động lại thùng chứa MySQL
Container tự động dừng khi quá trình chạy trong đó dừng.
Để bắt đầu chạy bộ chứa MySQL:start the MySQL container run:
sudo docker run --name=[container_name] -d [image_tag_name]
0Dừng container MySQL, sử dụng lệnh:, use the command:
sudo docker run --name=[container_name] -d [image_tag_name]
1Để khởi động lại bộ chứa MySQL:restart the MySQL container run:
sudo docker run --name=[container_name] -d [image_tag_name]
2Xóa container MySQL
Trước khi xóa một thùng chứa MySQL, hãy chắc chắn rằng bạn dừng nó trước.
Sau đó, loại bỏ container Docker bằng:
sudo docker run --name=[container_name] -d [image_tag_name]
3Sự kết luận
Sau khi đọc bài viết này, bạn nên triển khai thành công một thùng chứa MySQL.
Kết hợp Docker và MySQL có thể là một giải pháp tuyệt vời cho một ứng dụng quy mô nhỏ. Bây giờ bạn có thể bắt đầu khám phá tất cả các khả năng của thùng chứa MySQL.