Hướng dẫn connect to mysql docker - kết nối với docker mysql

Nếu bạn là người mới sử dụng MySQL hoặc ai đó muốn cài đặt cơ sở dữ liệu MySQL một cách nhanh chóng và dễ dàng, thì bài viết này là dành cho bạn. Trong bài viết này, chúng ta sẽ tìm hiểu cách thiết lập MySQL với Docker và soạn Docker trong Linux.

Nội dung chính ShowShow

  • 2. Tải xuống MySQL Docker Image
  • 3. Khởi chạy MySQL Container
  • 4. Kiểm tra trạng thái vùng chứa MySQL
  • 5. Kết nối với cơ sở dữ liệu MySQL
  • 6. Tải dữ liệu mẫu
  • 7. Thiết lập MySQL Container bằng Docker-Compose
  • 8. Kết nối với Cơ sở dữ liệu MySQL bằng MySQL Workbench
  • 8.1. Cài đặt MySQL Workbench trong Linux
  • 8.2. Kết nối với Cơ sở dữ liệu MySQL
  • 9. Kết luận

Hãy bắt đầu bằng cách thiết lập môi trường docker để khởi chạy vùng chứa MySQL.

  • 1. Cài đặt Docker
  • 2. Tải xuống MySQL Docker Image
  • 3. Khởi chạy MySQL Container
  • 4. Kiểm tra trạng thái vùng chứa MySQL
  • 5. Kết nối với cơ sở dữ liệu MySQL
  • 6. Tải dữ liệu mẫu
  • 7. Thiết lập MySQL Container bằng Docker-Compose
  • 8. Kết nối với Cơ sở dữ liệu MySQL bằng MySQL Workbench
    • 8.1. Cài đặt MySQL Workbench trong Linux
    • 8.2. Kết nối với Cơ sở dữ liệu MySQL
  • 9. Kết luận

Hãy bắt đầu bằng cách thiết lập môi trường docker để khởi chạy vùng chứa MySQL.

1. Cài đặt Docker

7. Thiết lập MySQL Container bằng Docker-Compose

$ docker --version
Docker version 20.10.11, build dea9396
$ docker-compose --version
docker-compose version 1.29.2, build unknown

2. Tải xuống MySQL Docker Image

8.1. Cài đặt MySQL Workbench trong Linux Docker Hub để có được Hình ảnh docker MySQL. Điều quan trọng là bạn phải quyết định phiên bản MySQL bạn sẽ chạy.

Trước khi quay bộ chứa docker MySQL, bạn cần phải cài đặt docker và docker-comp trong máy của mình. Nếu bạn chưa cài đặt docker và docker-soạn, hãy tham khảo các hướng dẫn sau:

$ docker pull mysql:latest

Bạn cũng có thể tham khảo các liên kết tài liệu Docker chính thức được cung cấp bên dưới để biết cách thiết lập Docker và Docker soạn.: Không cần thiết phải sử dụng thẻ “latest“, Theo mặc định, nó sẽ kéo hình ảnh mới nhất.

Bạn có thể chạy các lệnh sau để kiểm tra phiên bản docker và docker-soạn mà bạn đang chạy.

$ docker images mysql

Đi đến Docker Hub để có được Hình ảnh docker MySQL. Điều quan trọng là bạn phải quyết định phiên bản MySQL bạn sẽ chạy.

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mysql        latest    b05128b000dd   12 days ago   516MB

Chạy lệnh sau để kéo hình ảnh MySQL từ trung tâm docker vào máy của bạn.docker run”Như được hiển thị trong phần tiếp theo sẽ kéo hình ảnh nếu không có sẵn cục bộ.

3. Khởi chạy MySQL Container

Đứng lên: Không cần thiết phải sử dụng thẻ “latest“, Theo mặc định, nó sẽ kéo hình ảnh mới nhất.

Để kiểm tra xem hình ảnh có sẵn trên máy cục bộ hay không, bạn có thể chạy lệnh sau:

Đầu ra mẫu:

Bây giờ hình ảnh đã sẵn sàng để quay lên vùng chứa. Bạn cũng có thể bỏ qua bước này và chạy nút “docker run”Như được hiển thị trong phần tiếp theo sẽ kéo hình ảnh nếu không có sẵn cục bộ. → Đặt tên cho vùng chứa của bạn. Nếu bạn không chỉ định cờ này, docker sẽ chỉ định một số tên được tạo ngẫu nhiên.

Chạy lệnh sau để quay lên vùng chứa MySQL docker: → Bản đồ cổng. MySQL sẽ lắng nghe tại cổng 3306 vì vậy chúng tôi đang lập bản đồ các cổng (33063306) từ máy chủ của bạn đến bộ chứa docker. Cổng máy chủ không cần thiết phải 3306nó có thể là bất cứ thứ gì có sẵn để sử dụng.

$ docker run --name mysql -p 3306:3306 -v mysql_volume:/var/lib/mysql/ -d -e "MYSQL_ROOT_PASSWORD=temp123" mysql
Khởi chạy MySQL Container netstat trong máy cục bộ của bạn để kiểm tra xem cổng được ánh xạ có đang lắng nghe hay không khi vùng chứa được khởi chạy.

$ netstat -tlnup | grep -i 3306

Đi đến Docker Hub để có được Hình ảnh docker MySQL. Điều quan trọng là bạn phải quyết định phiên bản MySQL bạn sẽ chạy.

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      168870/docker-proxy 
tcp6       0      0 :::3306                 :::*                    LISTEN      168878/docker-proxy 

Chạy lệnh sau để kéo hình ảnh MySQL từ trung tâm docker vào máy của bạn. → Đính kèm một khối lượng vào hộp chứa. Hành vi mặc định của docker là nó sẽ không tồn tại dữ liệu sau khi vùng chứa bị xóa, vì vậy bạn sẽ mất tất cả dữ liệu của mình.

Đứng lên: Không cần thiết phải sử dụng thẻ “latest“, Theo mặc định, nó sẽ kéo hình ảnh mới nhất.mysql_volume“. MySQL lưu trữ dữ liệu trong /var/lib/mysql/ bên trong vùng chứa và ở đây nó được ánh xạ tới thư mục localhost /var/lib/docker/volumes/mysql_volume1/_datavì vậy dữ liệu của bạn sẽ được duy trì.

Để kiểm tra xem hình ảnh có sẵn trên máy cục bộ hay không, bạn có thể chạy lệnh sau:bài báo trên cùng một.

Đầu ra mẫu: → Sẽ khởi động và chạy vùng chứa ở chế độ tách rời. Nếu bạn bỏ qua -dsau đó bạn sẽ thấy nhật ký khởi động vùng chứa trong thiết bị đầu cuối và bạn phải mở một phiên thiết bị đầu cuối mới để kết nối với vùng chứa.

Bây giờ hình ảnh đã sẵn sàng để quay lên vùng chứa. Bạn cũng có thể bỏ qua bước này và chạy nút “docker run”Như được hiển thị trong phần tiếp theo sẽ kéo hình ảnh nếu không có sẵn cục bộ. → Các biến môi trường. Bạn phải thiết lập mật khẩu người dùng gốc mysql sử dụng bất kỳ một trong các tham số dưới đây.

  • Chạy lệnh sau để quay lên vùng chứa MySQL docker: → Thiết lập mật khẩu của riêng bạn bằng cách sử dụng biến môi trường này.
  • $ docker run --name mysql -p 3306:3306 -v mysql_volume:/var/lib/mysql/ -d -e "MYSQL_ROOT_PASSWORD=temp123" mysql
    Khởi chạy MySQL Container
    → Mật khẩu trống hoặc Null sẽ được thiết lập. Bạn phải thiết lập MYSQL_ALLOW_EMPTY_PASSWORD=1.
  • Hãy chia nhỏ lệnh trên và xem mỗi lá cờ làm gì. → mật khẩu ngẫu nhiên sẽ được tạo khi vùng chứa được khởi động. Bạn phải thiết lập MYSQL_RANDOM_ROOT_PASSWORD=1 để tạo mật khẩu ngẫu nhiên.

–name → Đặt tên cho vùng chứa của bạn. Nếu bạn không chỉ định cờ này, docker sẽ chỉ định một số tên được tạo ngẫu nhiên.

-p → Bản đồ cổng. MySQL sẽ lắng nghe tại cổng 3306 vì vậy chúng tôi đang lập bản đồ các cổng (3306 → 3306) từ máy chủ của bạn đến bộ chứa docker. Cổng máy chủ không cần thiết phải 3306nó có thể là bất cứ thứ gì có sẵn để sử dụng.

4. Kiểm tra trạng thái vùng chứa MySQL

Chạy phần sau netstat trong máy cục bộ của bạn để kiểm tra xem cổng được ánh xạ có đang lắng nghe hay không khi vùng chứa được khởi chạy.

$ docker ps

Đi đến Docker Hub để có được Hình ảnh docker MySQL. Điều quan trọng là bạn phải quyết định phiên bản MySQL bạn sẽ chạy.

CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
e1fb895f6f0f   mysql     "docker-entrypoint.s..."   3 minutes ago   Up 3 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql

5. Kết nối với cơ sở dữ liệu MySQL

Chạy lệnh sau để kéo hình ảnh MySQL từ trung tâm docker vào máy của bạn.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
0

Đứng lên: Không cần thiết phải sử dụng thẻ “latest“, Theo mặc định, nó sẽ kéo hình ảnh mới nhất.root bằng cách chạy lệnh sau. Trong trường hợp của tôi, tôi đã thiết lập mật khẩu của riêng mình thông qua MYSQL_ROOT_PASSWORD.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
1

Để kiểm tra xem hình ảnh có sẵn trên máy cục bộ hay không, bạn có thể chạy lệnh sau:

Nếu bạn đã sử dụng MYSQL_RANDOM_ROOT_PASSWORD=1 khi khởi chạy vùng chứa, bạn có thể lấy mật khẩu được tạo tự động từ nhật ký.MYSQL_RANDOM_ROOT_PASSWORD=1 khi khởi chạy vùng chứa, bạn có thể lấy mật khẩu được tạo tự động từ nhật ký.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
2
$ docker-compose --version
docker-compose version 1.29.2, build unknown
3

Mật khẩu gốc đã tạo

Mật khẩu gốc được tạo tự động sẽ dài và nó không phải là thứ cần được ghi nhớ. Bạn có thể đặt lại mật khẩu gốc bằng cách chạy truy vấn sau.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
4

Thay thế mật khẩu ‘mysqlpassword’ bằng mật khẩu của riêng bạn. Bạn cũng có thể tạo người dùng của riêng mình và cấp cho anh ta các đặc quyền theo yêu cầu.

6. Tải dữ liệu mẫu

Mục tiêu chính của việc thiết lập mysql là tải một số dữ liệu và chạy các truy vấn đối với nó. Có một số cách bạn có thể tải dữ liệu. Tôi có một tệp mẫu tên là “load_data.sql”Với các truy vấn sau trong đó.load_data.sql”Với các truy vấn sau trong đó.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
5

Cách tiếp cận đầu tiên sẽ là sao chép dữ liệu từ máy cục bộ sang vùng chứa docker bằng cách sử dụng “docker cp” yêu cầu.docker cp” yêu cầu.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
6
$ docker-compose --version
docker-compose version 1.29.2, build unknown
0
$ docker-compose --version
docker-compose version 1.29.2, build unknown
8

Bây giờ bạn có thể kết nối với máy khách mysql và chạy lệnh nguồn hoặc chuyển hướng tệp đến máy khách mysql.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
1
$ docker pull mysql:latest
0

Hoặc

$ docker pull mysql:latest
1

Kết nối với cơ sở dữ liệu và truy vấn bảng của bạn.

$ docker-compose --version
docker-compose version 1.29.2, build unknown
1
$ docker pull mysql:latest
3
$ docker pull mysql:latest
4
$ docker pull mysql:latest
5
$ docker pull mysql:latest
6

Bàn chơi

Cách tiếp cận thứ hai sẽ là chuyển hướng .sql khi chạy docker exec..sql khi chạy docker exec.

$ docker pull mysql:latest
7

7. Thiết lập MySQL Container bằng Docker-Compose

Thay vì kéo hình ảnh và chạy docker runbạn có thể dùng docker-soạn để quay nhanh thùng chứa. Docker-compos phù hợp nhất khi bạn có nhiều vùng chứa được tạo.docker runbạn có thể dùng docker-soạn để quay nhanh thùng chứa. Docker-compos phù hợp nhất khi bạn có nhiều vùng chứa được tạo.

Tạo một tệp có tên docker-compose.yml hoặc docker-compose.yaml. Sao chép và dán mã yaml sau đây. Điều này cũng giống như những gì tôi đã chạy thủ công trong các phần trước.docker-compose.yml hoặc docker-compose.yaml. Sao chép và dán mã yaml sau đây. Điều này cũng giống như những gì tôi đã chạy thủ công trong các phần trước.

$ docker pull mysql:latest
8

Bây giờ hãy chạy lệnh sau đây sẽ quay lên vùng chứa MySQL docker.

$ docker pull mysql:latest
9

Khởi chạy vùng chứa MySQL với Docker Compose

Chạy lệnh sau để kiểm tra trạng thái của vùng chứa đã khởi chạy bằng cách sử dụng docker -omp:

$ docker images mysql
0

Đầu ra mẫu:

$ docker images mysql
1

8. Kết nối với Cơ sở dữ liệu MySQL bằng MySQL Workbench

Cho đến bây giờ chúng ta đã thấy cách kết nối với cơ sở dữ liệu bằng máy khách mysql từ bên trong vùng chứa. Bạn cũng có thể kết nối với cơ sở dữ liệu bằng cách sử dụng bất kỳ ứng dụng khách GUI nào như bàn làm việc mysql, dbeaver, Heidi SQL, v.v.

Điều quan trọng cần lưu ý bất kể ứng dụng khách GUI bạn đang sử dụng là gì, cổng nào đã được ánh xạ khi bạn khởi chạy vùng chứa.

Trong trường hợp của tôi, tôi đã lập bản đồ localhost (3306) -> thùng đựng hàng (3306). Vì vậy, nếu tôi phải thiết lập kết nối với cơ sở dữ liệu, tôi phải kết nối với localhost:3306 hoặc 127.0.01:3306.localhost (3306) -> thùng đựng hàng (3306). Vì vậy, nếu tôi phải thiết lập kết nối với cơ sở dữ liệu, tôi phải kết nối với localhost:3306 hoặc 127.0.01:3306.

Tôi đang sử dụng MySQL Workbench làm ứng dụng khách GUI của mình. Nếu bạn chưa cài đặt MySQL workbench trong máy của mình, thì bạn có thể sử dụng hướng dẫn bên dưới để cài đặt tương tự.

8.1. Cài đặt MySQL Workbench trong Linux

Điều hướng đến trang web chính thức để tải xuống tệp gói. Bạn phải chọn hệ điều hành của mình để tải xuống .deb hoặc .rpm.trang web chính thức để tải xuống tệp gói. Bạn phải chọn hệ điều hành của mình để tải xuống .deb hoặc .rpm.

Chọn hệ điều hành cho MySQL Workbench

Trong bước tiếp theo, nó sẽ yêu cầu bạn Đăng nhập hoặc Đăng ký. Bạn có thể bỏ qua đăng nhập hoặc đăng ký bằng cách nhấp vào tùy chọn “Không, cảm ơn, Chỉ cần bắt đầu tải xuống của tôi”.

Bỏ qua tùy chọn đăng nhập hoặc đăng ký

Trên các hệ thống dựa trên Debian, hãy cài đặt MySQL Workbench như bên dưới:

$ docker images mysql
2
$ docker images mysql
3

Trên các hệ thống dựa trên RHEL, hãy cài đặt MySQL Workbench như sau:

$ docker images mysql
4
$ docker images mysql
5

Sau khi cài đặt xong, bạn có thể khởi chạy bàn làm việc mysql từ menu hoặc dấu gạch ngang.

Khởi chạy MySQL Workbench

8.2. Kết nối với Cơ sở dữ liệu MySQL

Kết nối với cơ sở dữ liệu đang chạy bên trong bộ chứa docker. Bạn nên cố gắng kết nối với localhost:3306 hoặc localhost: tùy thuộc vào cách thiết lập vùng chứa của bạn.localhost:3306 hoặc localhost: tùy thuộc vào cách thiết lập vùng chứa của bạn.

Quản lý kết nối MySQL

Trước khi kết nối với cơ sở dữ liệu, bạn có thể nhấn “Kiểm tra kết nối”Để kiểm tra MySQL workbench có thể kết nối thành công với phiên bản cơ sở dữ liệu hay không.Kiểm tra kết nối”Để kiểm tra MySQL workbench có thể kết nối thành công với phiên bản cơ sở dữ liệu hay không.

Kiểm tra kết nối MySQL

Bây giờ bạn có thể bắt đầu chạy các truy vấn của mình đối với các bảng bạn đã tạo.

Chạy truy vấn mẫu trong MySQL Workbench

9. Kết luận

Trong bài viết này, chúng ta đã giới thiệu sơ qua về cách khởi chạy vùng chứa MySQL trong docker bằng cách sử dụng docker run và docker-compose các phương pháp. Nếu bạn muốn thiết lập MySQL cho mục đích thử nghiệm hoặc học tập, Docker là quá đủ.docker rundocker-compose các phương pháp. Nếu bạn muốn thiết lập MySQL cho mục đích thử nghiệm hoặc học tập, Docker là quá đủ.

Hi vọng điêu nay co ich.