Nếu bạn muốn thiết lập cơ sở dữ liệu MySQL để lưu trữ dữ liệu cho trang web, blog hoặc ứng dụng, bạn có thể sử dụng bộ chứa Docker. Nó tương đối đơn giản để làm. Và giống như xáo trộn một cỗ bài, đảo ngược một chuỗi trong Python hoặc viết một hàm đệ quy, đây là một bài tập phù hợp cho người mới bắt đầu với MySQL và phát triển web phụ trợ
Chúng ta hãy xem chính xác Docker container là gì và cách bạn có thể sử dụng nó để thiết lập MySQL
Bộ chứa Docker là gì?
Bộ chứa Docker là một môi trường phát triển phần mềm độc lập bao gồm tất cả các thành phần cần thiết để chạy một ứng dụng. Điều này có thể bao gồm mã ứng dụng, thư viện và các phần phụ thuộc khác
Các bộ chứa được cách ly với nhau và với hệ điều hành máy chủ, vì vậy chúng không thể can thiệp hoặc truy cập vào các bộ chứa khác hoặc hệ điều hành máy chủ. Điều này làm cho chúng trở nên lý tưởng để đóng gói và triển khai các ứng dụng
Bộ chứa Docker được tạo bằng hình ảnh Docker. Đây chỉ đơn giản là một mẫu để tạo vùng chứa. Bạn có thể tạo hình ảnh Docker của riêng mình hoặc sử dụng hình ảnh mà người khác đã tạo. Khi bạn tạo một vùng chứa từ hình ảnh Docker, bạn có thể tùy chỉnh nó bằng cách thêm các tệp, cài đặt và ứng dụng của riêng bạn
Trong hướng dẫn này, chúng ta sẽ xem xét cách thiết lập MySQL trong bộ chứa Docker
Xin lưu ý rằng các lệnh có thể khác nhau dựa trên hệ điều hành được cài đặt. Ví dụ này được tạo bằng hệ điều hành dựa trên Arch Linux và MySQL 8. 0
Bước 1. Cài đặt Docker
Nếu bạn chưa có, hãy cài đặt Docker. Trước tiên, hãy đảm bảo rằng bản cài đặt hệ điều hành được cập nhật bằng lệnh sau trong cửa sổ đầu cuối mới
$ sudo pacman -Syu
Sau khi đã xác minh rằng hệ thống đã được cập nhật, hãy cài đặt Docker
$ sudo pacman -S docker
Bước 2. Cài đặt MySQL trong Docker
Khởi động dịch vụ Docker và chạy lệnh “Docker images” để kiểm tra xem MySQL hiện đã được cài chưa
[root@docker ~]# docker imagesBản tin dành cho các nhà phát triển PHP và MySQL
Nhận bản sao sách điện tử của tôi, “10 mẹo MySQL cho mọi người”, hoàn toàn miễn phí khi bạn đăng ký nhận bản tin của OpenLampTech.
Bước 3. Bắt đầu một phiên bản máy chủ MySQL
MySQL có thể được chạy như một ví dụ. Sử dụng -d để chạy vùng chứa ở chế độ tách rời và đặt tên cho vùng chứa Docker. MySQL sử dụng cổng 3600. 3306 theo mặc định. Đảm bảo đặt mật khẩu cho cơ sở dữ liệu. Đối với ví dụ này, nó chỉ đơn giản được đặt thành “mật khẩu. ”
[root@docker ~]# docker container run -d --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:latest
như mysql. mới nhất không có sẵn cục bộ, lệnh này sẽ bắt đầu tải xuống phiên bản MySQL mới nhất hiện có
Kiểm tra bằng lệnh “Docker ps” rằng bộ chứa MySQL đang chạy
[root@docker ~]# docker ps
Lệnh này sẽ hiển thị ID bộ chứa và các cổng mà bộ chứa MySQL đang chạy trên đó
đầu ra mẫu
CONTAINER ID IMAGE NAMES COMMAND CREATED STATUS PORTS 6bcd1d829631 mysql:latest "docker-entrypoint..." 5 seconds ago Up 3 seconds 0.0.0:3306->3306/tcp, 33060/tcp
Bước 4. SSH vào Bộ chứa MySQL
Bây giờ, chúng ta sẽ cần SSH vào bộ chứa MySQL bằng lệnh “Docker exec”, đây là lệnh chạy các lệnh mới trong bộ chứa đang chạy. Chúng tôi đã xác minh ở Bước 2 rằng vùng chứa đang chạy. Sau đó, chúng ta sẽ cần đăng nhập vào MySQL để tạo cơ sở dữ liệu mới
[root@docker ~]# docker exec -it mysqldb bash
Đăng nhập vào bộ chứa MySQL bằng mật khẩu được tạo khi bộ chứa được tạo ở Bước 2, ở đây mật khẩu của chúng tôi là “password. ” Ngoài ra, đảm bảo không có khoảng trống sau -p vì mọi thứ sau -p đều là một phần của mật khẩu đã nhập
[root@6bcd1d829631]# mysql -u root -ppassword
Khi thực hiện lệnh này, bạn sẽ thường gặp cảnh báo rằng việc sử dụng mật khẩu trên dòng lệnh là không an toàn. Để khắc phục thông báo cảnh báo này, hãy sử dụng các công cụ mysql_config_editor
Bước 5. Tạo cơ sở dữ liệu
Bây giờ chúng ta đang ở trong MySQL, hãy sử dụng lệnh “hiển thị cơ sở dữ liệu” để liệt kê tất cả các cơ sở dữ liệu có sẵn
________số 8Bây giờ hãy tạo cơ sở dữ liệu bằng lệnh “tạo cơ sở dữ liệu” và đặt tên cho cơ sở dữ liệu. Đối với ví dụ này, chúng tôi sẽ sử dụng tên “newdatabasename. ”
mysql> create database newdatabasename
Nếu chúng ta sử dụng lệnh “hiển thị cơ sở dữ liệu” thì cơ sở dữ liệu mới sẽ xuất hiện trong danh sách. Xem đầu ra mẫu bên dưới
$ sudo pacman -S docker0
Cơ sở dữ liệu này có thể dễ dàng bị xóa bằng lệnh “drop database” theo sau là tên của cơ sở dữ liệu
$ sudo pacman -S docker1
Bước 6. Cài đặt bàn làm việc MySQL
MySQL Workbench là một công cụ đồ họa cho mục đích quản trị và nó có sẵn cho hầu hết các hệ điều hành. Đảm bảo cài đặt phiên bản phù hợp với hệ điều hành của bạn. Nó có thể được tải xuống từ trang web MySQL. Lưu ý rằng không phải tất cả các phiên bản của Workbench và MySQL đều tương thích, vì vậy việc sử dụng các phiên bản mới nhất sẽ giúp loại bỏ các vấn đề về tương thích
Phần kết luận
Docker cho phép bạn chạy các thùng chứa bị cô lập để cải thiện hiệu suất ứng dụng trong khi MySQL có khả năng mở rộng cực cao và thường được sử dụng để quản lý cơ sở dữ liệu
Cùng với nhau, chúng là một sự kết hợp tuyệt vời cho các nhà phát triển web bắt đầu làm việc với phát triển web phụ trợ. Nếu bạn muốn bắt đầu với MySQL và Docker, hãy làm theo sáu bước được nêu trong bài đăng và truy cập Docker Hub để có các hình ảnh MySQL mới nhất.
Ngoài ra, hãy đăng ký Digital Owl’s Prose để nhận thông báo về các bài đăng blog mới qua email khi chúng được xuất bản. Vui lòng gửi đề xuất cho các bài viết trong tương lai
Tiểu sử tác giảJody DascaluJody là một nhà văn tự do trong lĩnh vực công nghệ. Cô du học Canada và lấy bằng Cử nhân Kỹ thuật. Jody có hơn 5 năm kinh nghiệm làm việc trong chuỗi cung ứng cấp tiến và hiện đang làm việc với tư cách là nhà phân tích kinh doanh. Là một người ham đọc sách, cô ấy thích nghiên cứu các công nghệ sắp ra mắt và là chuyên gia về nhiều chủ đề khác nhau
Nhiều cách khác tôi có thể giúp
- Bắt đầu một blog? . Hãy để cả hai tiết kiệm tiền cho các kế hoạch được cung cấp. 💸
- Thu hút sự chú ý đến thương hiệu, sản phẩm hoặc dịch vụ của bạn với vị trí quảng cáo được phân loại giá cả phải chăng trong bản tin OpenLampTech
- Cần lưu trữ cho ứng dụng web hoặc trang web WordPress tiếp theo của bạn? . Dịch vụ này không ai sánh kịp và họ cung cấp SSL miễn phí
- 🔒5 sự thật tôi nhận ra với tư cách là một nhà phát triển tự học
Tiết lộ. Một số dịch vụ và liên kết sản phẩm của bài đăng trên blog này là các liên kết liên kết. Bạn không phải trả thêm phí, nếu bạn mua hàng bằng cách nhấp qua một trong số chúng, tôi sẽ nhận được hoa hồng