Docker mysql-client
Nếu bạn làm nhiều dự án sử dụng các phiên bản MySQL khác nhau, có thể bạn sẽ nghĩ đến cách chuyển đổi giữa các phiên bản MySQL mỗi khi làm việc với dự án sử dụng các phiên bản MySQL khác nhau. Tuy nhiên, điều này khá bất tiện. Bài viết này sẽ giúp bạn giải quyết vấn đề đó Show
Các bạn có thể xem thêm Hướng dẫn cài đặt nhiều phiên bản PHP chạy đồng thời với Apache trên Ubuntu Trong bài viết này, giả định chúng ta cần sử dụng MySQL 5. 6 và MySQL 5. 7 trên cùng một máy chủ và phiên bản MySQL 5. 7 được sử dụng nhiều hơn sẽ được chọn làm phiên bản chính. Chúng ta sẽ cài đặt MySQL 5. 7 trước. Sau đó, sử dụng Docker để cài đặt phiên bản MySQL 5. 6 Cài đặt MySQL 5. 7Run the following command to install mysql 5. 7
Lúc này, MySQL 5. 7 được cài đặt và chạy ở cổng 3306 (cổng mặc định) Cài đặt DockerRun command after to install docker
Cài đặt MySQL 5. 6Run command after to install MySQL 5. 6 trong docker container
Lưu ý. rootpassword là mật khẩu của người dùng root, có thể thay đổi tùy ý Vùng chứa này chứa MySQL 5. 6 được cài đặt với cổng 3306. Nhưng máy chủ sẽ sử dụng cổng 3310 để chuyển tiếp Trước tiên, nếu máy bạn chưa có Docker, hãy cài đặt theo hướng dẫn tại. https. // tài liệu. người đóng tàu. com/cài đặt/ Các bước cài đặt
1. Tạo Docker network Việc tạo Docker network giúp các Docker container trong cùng 1 network có thể giao tiếp với nhau thông qua container name Run command after
Lệnh trên sẽ tạo một mạng Docker có tên là mysql. Chúng ta sẽ đặt 2 Docker container chạy MySQL và phpMyAdmin bên trong mạng mysql này 2. Khởi tạo Docker container từ Docker image của MySQL Trước tiên, hãy tạo một thư mục dùng để lưu dữ liệu của Docker container, ví dụ:. /home/moe/mysql_data Sau đó, chạy lệnh
in which
3. Khởi tạo Docker container từ Docker image của phpMyAdmin Run command after
in which
Sau khi hoàn thành cả 3 bước trên, chúng ta truy cập vào địa chỉ. http. //máy chủ cục bộ. 8081/, xuất hiện màn hình
Tại mục ngôn ngữ, bạn có thể chọn ngôn ngữ là Tiếng Việt hoặc Tiếng Anh Tại mục Đăng nhập, bạn hãy sử dụng tài khoản root, mật khẩu chính là mật khẩu bạn đã đặt cho biến môi trường MYSQL_ROOT_PASSWORD khi khởi động tạo vùng chứa MySQL, như trong bài viết này thì mật khẩu tôi đặt là 123 Trước tiên, nếu máy bạn chưa có Docker, hãy cài đặt theo hướng dẫn tại. https. // tài liệu. người đóng tàu. com/cài đặt/ Nội dung chính Hiển thị Các bước cài đặt
1. Tạo Docker network Việc tạo Docker network giúp các Docker container trong cùng 1 network có thể giao tiếp với nhau thông qua container name Run command after
Lệnh trên sẽ tạo một mạng Docker có tên là mysql. Chúng ta sẽ đặt 2 Docker container chạy MySQL và phpMyAdmin bên trong mạng mysql này 2. Khởi tạo Docker container từ Docker image của MySQL Trước tiên, hãy tạo một thư mục dùng để lưu dữ liệu của Docker container, ví dụ:. /home/moe/mysql_data Sau đó, chạy lệnh
in which
3. Khởi tạo Docker container từ Docker image của phpMyAdmin Run command after
in which
Sau khi hoàn thành cả 3 bước trên, chúng ta truy cập vào địa chỉ. http. //máy chủ cục bộ. 8081/, xuất hiện màn hình Giao diện phpMyAdmin
Tại mục ngôn ngữ, bạn có thể chọn ngôn ngữ là Tiếng Việt hoặc Tiếng Anh Tại mục Đăng nhập, bạn hãy sử dụng tài khoản root, mật khẩu chính là mật khẩu bạn đã đặt cho biến môi trường MYSQL_ROOT_PASSWORD khi khởi động tạo vùng chứa MySQL, như trong bài viết này thì mật khẩu tôi đặt là 123 BE ROI. Cuối cùng tôi đã giải quyết được vấn đề này. Dưới đây là giải pháp của tôi được sử dụng trong https. //sqlflow. tổ chức/sqlflow Nội dung chính Hiển thị
Giải pháp hoàn chỉnhTo make a close demo copy, tôi đã chuyển tất cả các mã cần thiết sang https. //github. com/wangkuiyi/mysql-server-in-docker Key of solutionTôi không sử dụng hình thức chính thức trên docker hub. com https. // trung tâm. người đóng tàu. com/r/mysql/mysql-máy chủ. Thay vào đó, tôi đã tự làm bằng cách cài đặt MySQL trên Ubuntu 18. 04. Cách tiếp cận này cho tôi cơ hội để bắt đầu MySQLD và liên kết nó với 0,0. 0. 0 (tất cả các IPS). liên kết nó với 0. 0. 0. 0 (tất cả IP) Để biết chi tiết, vui lòng tham khảo các dòng này trong repo GitHub của tôi
Để xác minh giải pháp của tôi
Kết nối từ một thùng chứa khác trên cùng một máy chủChúng tôi có thể chạy máy khách MySQL từ ngay cả một vùng chứa khác (trên cùng một máy chủ) 0Connected from other hostTrên iMac của tôi, tôi cài đặt máy khách MySQL bằng homebrew 1Sau đó, tôi có thể truy cập vào máy chủ Ubuntu ở trên (192. 168. 1. 22) 2Reconnected from a thùng chứa đang chạy trên máy chủ khácTôi thậm chí có thể chạy máy khách MySQL trong một thùng chứa máy chủ chạy trên iMac để kết nối với máy chủ MySQL trong một thùng chứa trên máy trạm Ubuntu của tôi 00Một trường hợp đặc biệtTrong trường hợp chúng tôi chạy máy khách và máy chủ MySQL trong các thùng chứa riêng biệt chạy trên cùng một máy chủ - điều này có thể xảy ra khi chúng tôi thiết lập CI, chúng tôi không cần phải xây dựng hình ảnh Docker máy chủ . Thay vào đó, chúng ta có thể sử dụng 36 khi chúng ta chạy thùng chứa máy kháchTo start up the server 00To started client 01MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ dựa trên ngôn ngữ truy vấn có cấu trúc (SQL), ngôn ngữ được sử dụng rộng rãi nhất để truy cập và quản lý các bản ghi cơ sở dữ liệu. Theo giấy phép GNU, MySQL là phần mềm nguồn mở và phần mềm miễn phí. Tập đoàn Oracle sao lưu nó Blog này nói về 3 bước bạn có thể làm theo để định cấu hình và thiết lập liền kề container docker MySQL cho các yêu cầu kinh doanh của bạn. Nó giới thiệu ngắn gọn về Docker và MySQL trước khi đi sâu vào các điểm ưu tiên, quy định cài đặt, cấu hình, cập nhật và quản lý các mẹo cũng như quản lý container docker MySQL. & NBSP;Bộ chứa Docker MySQL cho các yêu cầu kinh doanh của bạn. Nó cũng giới thiệu ngắn gọn về Docker và MySQL trước khi đi sâu vào các ưu điểm, quy trình cài đặt, cấu hình, cập nhật và mẹo quản lý cho Docker MySQL Container. lục mục
MySQL là gì?Tính năng chính của MySQLDocker là gì?39% nhà phát triển trên thế giới trở lại vào năm 2019, khiến nó trở thành Cơ sở dữ liệu phổ biến nhất thế giới. Nó chắc chắn thiếu các tính năng mở rộng được cung cấp bởi PostgreSQL, nhưng nó vẫn hữu ích cho một số lượng lớn các trường hợp sử dụng như Ứng dụng web. Các tính năng chính của DockerLinux, Apache HTTP Server, MySQL, PHP; . Hãy nói về một vài tính năng nổi bật khiến MySQL trở nên hấp dẫn như vậy. Ngoài ra, hãy xem cách bạn có thể tích hợp từ MySQL sang PostgreSQL. Tính năng chính của MySQL
Làm thế nào để định cấu hình container docker mysql của bạn?
Docker là gì?Nguồn hình ảnhDocker In MỤC ĐÍCH LÀM CHO PHÁT TRIỂN PHẦN MỀM PHẦN MỀM CÓ THỂ DỰ ĐOÁN VÀ HIỆU QUẢ. Docker đạt được điều này bằng cách lấy đi các nhiệm vụ cấu hình trần tục, mờ nhạt trong suốt vòng đời phát triển để phát triển ứng dụng dễ dàng, nhanh chóng và di động - đám mây và máy tính để bàn. Nền tảng từ đầu đến cuối của Docker, bao gồm CLI, UI và API cùng với các giải pháp bảo mật mạnh mẽ được thiết kế để làm việc cùng nhau trong toàn bộ vòng đời phân phối ứng dụng. CLI, UI và API cùng với các biện pháp bảo mật mạnh mẽ được thiết kế để hoạt động cùng nhau trong toàn bộ vòng đời phân phối ứng dụng Docker Container là một phần mềm đơn vị được tiêu chuẩn hóa cho phép các nhà phát triển cô lập ứng dụng của họ khỏi môi trường, làm điều đó, giải quyết vấn đề hoạt động cục bộ. Docker đã phát triển để trở thành tiêu chuẩn để chia sẻ và xây dựng các ứng dụng container cho hầu hết hàng triệu nhà phát triển- từ đám mây đến máy tính để bàn. Với Docker, bạn có thể cài đặt từ một gói duy nhất để đứng dậy và chạy không ổn định. Do đó, bạn có thể kiểm tra và mã tại địa phương với Docker trong khi đảm bảo tính nhất quán giữa sản xuất và phát triển Các tính năng chính của DockerDưới đây là một vài tính năng nổi bật của Docker cho phép nó nổi bật trong đám đông
Ưu điểm của việc chạy container docker mysql là gì?Bằng cách chạy một container Docker MySQL, bạn đang phát triển mã với cấu hình và cơ sở hạ tầng lặp lại, do đó tăng tốc quá trình phát triển đáng kể. Một điểm quan trọng cần lưu ý ở đây là Docker hình ảnh thường nhỏ, để bắt đầu. Ngoài ra, bạn nhận được giao hàng nhanh chóng và triển khai ngắn hơn so với các thùng chứa ứng dụng mới. Một lợi ích quan trọng khác của việc chạy bộ chứa Docker MySQL là bảo trì đơn giản. Bất kể khi nào bạn chứa một ứng dụng, nó sẽ được giải thích bằng cách nào đó với các ứng dụng khác đang chạy trong cùng một hệ thống. Vì vậy, bởi vì các ứng dụng không lồng nhau, nó làm cho việc bảo trì ứng dụng dễ dàng hơn nhiều Toán tử MySQL cho Kubernetes dạy một cách hiệu quả Kubernetes những gì nó yêu cầu để chạy chính xác MySQL. Nó giáo dục Kubernetes về cách coi các cụm từ MySQL như một loại tài nguyên của bên thứ nhất trong API Kubernetes. Nó cũng giúp Kubernetes hiểu rằng có bao nhiêu nút mà bạn có thể cần phải có một cụm HA tối thiểu trong môi trường Kubernetes của bạn.   Điều kiện tiên quyết
Một nền tảng đường ống dữ liệu không có mã được quản lý đầy đủ như HEVO giúp bạn lưu trữ dữ liệu tổng hợp từ hơn 100 nguồn dữ liệu (bao gồm hơn 40 nguồn dữ liệu miễn phí) như MySQL vào đích mà bạn chọn theo thời gian . HEVO với đường cong học tập tối thiểu có thể được thiết lập chỉ trong vài phút cho phép người dùng tải dữ liệu mà không cần phải đạt được hiệu suất rõ ràng. Sự hợp tác mạnh mẽ của nó với các nguồn thứ mười một cung cấp cho người dùng sự linh hoạt để khôi phục dữ liệu thuộc các loại khác nhau, theo kiểu trơn tru mà không phải mã hóa một dòng. & NBSP;bao gồm hơn 40 Nguồn dữ liệu miễn phí) như MySQL đến đích bạn chọn trong thời gian thực một cách dễ dàng. Hevo với đường cong học tập tối thiểu có thể được thiết lập chỉ trong vài phút cho phép người dùng tải dữ liệu mà không phải ảnh hưởng đến hiệu suất. Sự tích hợp mạnh mẽ của nó với vô số nguồn cung cấp cho người dùng sự linh hoạt để đưa vào các loại dữ liệu khác nhau, một cách trơn tru mà không cần phải viết mã một dòng nào. Bắt đầu với Hevo miễn phí Kiểm tra một số tính năng thú vị của Hevo
Đơn giản hóa việc phân tích dữ liệu của bạn với Hevo ngày hôm nay.   Đăng ký tại đây để dùng thử miễn phí trong 14 ngày Làm thế nào để cài đặt container docker mysql?Dưới đây là các bước bạn có thể làm theo để cài đặt bộ chứa Dockerhub MySQL
Bước 1. Kéo hình ảnh Docker cho MySQL
02
03
Bước 2. Khai báo và khởi động thùng chứa MySQL
04
05
06
Bước 3. Connected with container MySQL Docker
07
08
09
10
11
12
Làm thế nào để định cấu hình container docker mysql của bạn?Nếu bạn muốn xem qua cấu hình của container MySQL Docker, bạn có thể tìm thấy nó trong thư mục ‘/etc/mysql/my. cnf=. Nếu bạn muốn sửa đổi cấu hình, bạn cần tạo tệp cấu hình thay thế trên máy chủ và gắn chúng vào bên trong thùng chứa Docker MySQL. /etc/mysql/my. thư mục cnf=’. Nếu bạn muốn sửa đổi cấu hình, bạn cần tạo một tệp cấu hình thay thế trên máy chủ và gắn chúng vào Docker MySQL Container
13
14
15NguồnHình ảnhNguồn hình ảnhBạn có thể thay đổi cấu hình phiên bản MySQL bằng cách chuyển một hoặc nhiều biến môi trường cho dòng lệnh docker chạy khi bắt đầu cấu hình MySQL. Nếu bạn bắt đầu vùng chứa với thư mục dữ liệu chứa cơ sở dữ liệu, không có biến nào dưới đây sẽ có bất kỳ hiệu ứng nào. Bất kỳ cơ sở dữ liệu nào có sẵn sẽ bị loại bỏ khi container bắt đầu Bạn có thể thay đổi cấu hình phiên bản MySQL bằng cách chuyển một hoặc nhiều biến môi trường cho dòng lệnh docker chạy khi bắt đầu cấu hình MySQL. Nếu bạn bắt đầu vùng chứa với thư mục dữ liệu chứa cơ sở dữ liệu, không có biến nào dưới đây sẽ có bất kỳ hiệu ứng nào. Bất kỳ cơ sở dữ liệu nào có sẵn sẽ bị loại bỏ khi container bắt đầu. biến môi trường thành dòng lệnh chạy docker khi bắt đầu hình ảnh mysql. Nếu bạn khởi động vùng chứa bằng một thư mục dữ liệu đã chứa cơ sở dữ liệu, thì không có biến nào bên dưới có tác dụng. mọi cơ sở dữ liệu có sẵn sẽ bị bỏ qua khi vùng chứa khởi động Mật khẩu gốc MySQL Đây là một biến bắt buộc chỉ định mật khẩu cho tài khoản Superuser gốc MySQL. Nó đã được đặt thành My-secret-pw trong ví dụ trên. Biến dữ liệu MySQL là tùy chọn và cho phép bạn đặt tên cho cơ sở dữ liệu sẽ được tạo khi khởi động cấu hình. Nếu người dùng/mật khẩu được cấp (xem bên dưới), người dùng đó sẽ được cấp quyền truy cập Superuser vào cơ sở dữ liệu này (tương ứng với tất cả). Mật khẩu người dùng MySQL và Mật khẩu MySQL là hai biến trong MySQL. Các biến này là tùy chọn và được sử dụng để tạo người dùng mới và đặt mật khẩu cho người dùng đó. Đối với cơ sở dữ liệu chỉ được xác định bởi biến cơ sở dữ liệu MySQL, người dùng này sẽ được cấp quyền của Superuser (xem ở trên). Cả hai biến phải có mặt để tạo người dùng. và MẬT KHẨU MYSQL là hai biến trong MySQL. Thật đáng chú ý rằng cơ chế này không được yêu cầu để tạo ra siêu người dùng gốc; MySQL cho phép mật khẩu trống, đây là một biến không bắt buộc. Có thể đặt giá trị không trống, giả sử có giới hạn như vậy, để cho phép vùng chứa bắt đầu với mật khẩu trống của người dùng gốc. Lưu ý. Nếu bạn đặt biến này thành Có, phiên bản MySQL của bạn sẽ hoàn toàn không được bảo vệ, cho phép bất kỳ ai có quyền truy cập Superuser hoàn chỉnh. Mật khẩu gốc ngẫu nhiên MySQL Đây là một biến không bắt buộc. Để tạo mật khẩu cấm đầu ngẫu nhiên cho người dùng gốc, được đặt thành giá trị không trống, giả sử như có (sử dụng PwGen). Mật khẩu gốc được tạo và trong thiết bị xuất chuẩn (được tạo mật khẩu gốc. Mạnh. ). MySQL Onetime PasswordEne Initit đã hoàn thành, người dùng gốc (không phải người dùng được chỉ định trong người dùng MySQL. ) Được đánh dấu là hết hạn, yêu cầu thay đổi mật khẩu trên lần đăng nhập đầu tiên. Cài đặt này được kích hoạt bởi bất kỳ giá trị trống nào. Lưu ý. Tính năng này chỉ có sẵn trong MySQL 5. 6 trở lên. Khi sử dụng tùy chọn này với MySQL 5. 5, một giải thích lỗi sẽ bị ném trong quá trình khởi động. MySQL initdb bỏ qua dữ liệu múi giờ tzinfothecần thiết cho hàm chuyển đổi tz () được tải xuống tự động theo mặc định bởi lệnh EntryPoint. Bất kỳ giá trị trống nào sẽ vô hiệu hóa thời gian tải xuống nếu nó không bắt buộc.
16
17
Preset setting. Làm thế nào để kết nối máy chủ với Docker MySQL?
18
19
20
Quản lý container docker mysql của bạn
21
22
23
Sudo Docker Kiểm tra [Container_Name] Dưới đây là một vài thành phần thiết yếu để giúp bạn quản lý Docker Compose MySQL Container
Làm thế nào để bắt đầu container cho MySQL?Làm thế nào để khởi động lại container cho MySQL? Làm thế nào để dừng container cho MySQL?Làm thế nào để khởi động lại container cho MySQL?Làm thế nào để dừng container cho MySQL? 25Làm thế nào để dừng container cho MySQL?Bạn có thể sử dụng đoạn mã để khởi động vùng chứa Docker MySQL như sau 26docker chạy --rm -d -p 23306. mysql 3306. ý 4Bạn có thể sử dụng đoạn mã để khởi động lại bộ chứa Docker MySQL như sau Đoạn mã mà bạn có thể sử dụng để dừng vùng chứa Docker MySQL như sau. Nguồn hình ảnhLàm thế nào để xóa container docker mysql của bạn?Nếu bạn muốn xóa vùng chứa Docker MySQL, bạn cần đảm bảo rằng bạn đã dừng nó trước đó. Tiếp theo, bạn có thể xóa các thùng chứa Docker bằng đoạn mã sau
28
29
30
31Bước 4. Bây giờ, bạn cần đợi máy chủ hoàn tất khởi động. Bạn có thể kiểm tra trạng thái của máy chủ bằng lệnh Docker PS
Docker tài liệu là một nơi tốt để bắt đầu tìm hiểu về các tùy chọn và biến có thể lưu trữ khác nhau, và có một số blog và bài đăng trên diễn đàn thảo luận và đưa ra lời khuyên trong lĩnh vực này. Đối với tùy chọn sau, chúng tôi sẽ chỉ hiển thị quy trình cơ bản ở đây Tạo một thư mục dữ liệu, chẳng hạn như/my/own/datadir, trên một khối lượng phù hợp trên hệ thống máy chủ của bạn Đầu thùng chứa MySQL của bạn như sau -V/của tôi/của riêng/datadir. /var/lib/mysql -e mysql root password = my -secret -pw -d docker chạy Phần LIB/MySQL của lệnh giới thiệu thư mục của hệ thống máy chủ bên dưới/my/own/datadir AS/var/lib/ .
32
33
34Kết luậnBlog này nói về các bước khác nhau mà bạn có thể làm theo để thiết lập vùng chứa Docker MySQL sau khi giới thiệu rút gọn về các tính năng nổi bật của MySQL và Docker. Nó cũng bao gồm các lợi thế của việc tận dụng các thùng hàng bao gồm Docker MySQL và các mẹo cấu hình và quản lý tiện ích ứng dụng khác nhau. Docker MySQL Container sau khi giới thiệu sơ lược về các tính năng nổi bật của MySQL và Docker. Nó cũng bao gồm các lợi thế của việc tận dụng Bộ chứa MySQL Docker và các mẹo quản lý và cấu hình tiện dụng khác nhau Trích xuất dữ liệu phức tạp từ một bộ nguồn dữ liệu đa dạng để thực hiện một phân tích sâu sắc có thể là một thức thức, và đây là nơi Hevo tiết kiệm điện trong ngày. HEVO cung cấp một cách nhanh hơn để chuyển dữ liệu từ cơ sở dữ liệu hoặc ứng dụng SaaS như MySQL vào kho dữ liệu của bạn để được hiển thị trong BI công cụ. Hevo hoàn toàn tự động và do đó không yêu cầu bạn mã hóa. Hevo tiết kiệm trong ngày. Hevo cung cấp một cách nhanh hơn để di chuyển dữ liệu từ Cơ sở dữ liệu hoặc ứng dụng SaaS như MySQL vào Kho dữ liệu của bạn để được hiển thị trong công cụ BI. Hevo hoàn toàn tự động và do đó không yêu cầu bạn viết mã Ghé thăm trang web của chúng tôi để khám phá Hevo Bạn muốn đưa Hevo đến một vòng quay? Đăng ký và trải nghiệm bộ Hevo tính năng đầu tiên. Bạn cũng có thể xem xét đánh giá vô địch sẽ giúp bạn lựa chọn đúng kế hoạch cho nhu cầu kinh doanh của mình Tôi có thể sử dụng mysql với docker không?MySQL là một trong những cơ sở dữ liệu quan hệ với SQL phổ biến nhất. Chạy MySQL bên trong container Docker cho phép bạn tách cơ sở dữ liệu của mình ra khỏi mã của mình. Bạn có thể sử dụng một dàn nhạc container như Kubernetes để mở rộng quy định MySQL độc lập với khả năng hiện API máy chủ của bạn. Chạy MySQL bên trong bộ chứa Docker cho phép bạn tách cơ sở dữ liệu khỏi mã của mình . Bạn cũng có thể sử dụng bộ điều phối vùng chứa như Kubernetes để mở rộng quy mô MySQL độc lập với phiên bản máy chủ API của bạn. Không thể kết nối với máy chủ MySQL trên Docker?Thông thường có nghĩa là không có máy chủ MySQL chạy trên hệ thống hoặc bạn đang sử dụng tên tệp unix không chính xác hoặc số cổng TCP/IP khi cố gắng kết nối với máy chủ. Bạn nên kiểm tra xem cổng TCP/IP bạn đang sử dụng chưa bị chặn bởi tường lửa hoặc dịch vụ cổng chặn. không có máy chủ MySQL nào chạy trên hệ thống hoặc bạn đang sử dụng tên tệp ổ cắm Unix hoặc số cổng TCP/IP không chính xác khi cố gắng kết nối với máy chủ |