Tôi có thể cài đặt MySQL trên Raspberry Pi không?

Đây là bài viết thứ sáu và cũng là bài viết cuối cùng trong loạt bài Phát triển và Triển khai Ứng dụng Kubernetes trên Raspberry Pi Cluster. Nó đánh dấu sự chuyển đổi từ tập trung hoàn toàn vào Raspberry Pi sang phát triển phần mềm nói chung hơn. Với việc cài đặt cơ sở dữ liệu, chúng tôi sẽ có một nền tảng đầy đủ tính năng đáp ứng các yêu cầu của chúng tôi để phát triển và triển khai ứng dụng

Bài viết này đề cập đến cách cài đặt và định cấu hình MariaDB, một giải pháp thay thế có tính năng tương đương với MySQL, trên Raspberry Pi. Cài đặt tương đối đơn giản. Việc cấu hình cơ sở dữ liệu có phần phức tạp hơn nhưng vẫn khá dễ quản lý

Tổng quan

Hầu hết các ứng dụng quan trọng đều phụ thuộc vào một số loại cơ sở dữ liệu. Tính đến năm 2019, cơ sở dữ liệu quan hệ chiếm khoảng 60% nền tảng cơ sở dữ liệu của ứng dụng. Trong số đó, MySQL là một trong những phổ biến nhất. MariaDB cũng khá phổ biến. MariaDB và MySQL làm hầu hết mọi thứ mà các cơ sở dữ liệu quan hệ khác làm. Giống như MySQL, MariaDB tương đối dễ sử dụng và miễn phí

Tại sao không chỉ cài đặt MySQL? . Ít nhất tôi không thể tìm thấy một

MariaDB được tạo bởi các nhà phát triển ban đầu của MySQL từ một nhánh rẽ của MySQL. Xem tài nguyên này để thảo luận về ưu và nhược điểm của MySQL so với. MariaDB. Theo các nhà phát triển của MariaDB. “Các phiên bản MariaDB hoạt động như một 'sự thay thế thả vào' cho phiên bản MySQL tương đương. ”

Có một hướng dẫn tương thích có sẵn trên trang web MariaDB

Một hồi quy ngắn…

Bài viết thứ hai trong loạt bài này, Cách thiết lập cụm Raspberry Pi, mô tả cấu trúc liên kết cụm mà tôi dự định thiết lập

Cấu trúc liên kết cụm của tôi — hình ảnh được cung cấp bởi HiClipart, Comcast, BlackBox và Cleanpng

Nếu bạn đã theo dõi loạt bài này, bạn có thể đã thiết lập cụm Raspberry Pi của riêng mình theo các dòng tương tự. Trong suốt phần còn lại của bài viết này, tôi sẽ tham khảo lại sơ đồ này

Cài đặt MariaDB

Bạn cần đưa ra quyết định khi cài đặt MariaDB. Bạn sẽ muốn cài đặt máy chủ hay máy khách? . Để linh hoạt, cộng với hỗ trợ khắc phục sự cố, tôi đã chọn cài đặt ứng dụng khách trên tất cả các máy chủ trong cụm của mình cũng như trên MacBook Pro của tôi ở mạng bên ngoài. Đối với máy chủ, tôi đã chọn đặt nó trên máy chủ

sudo mysql -uroot
4 [Bộ định tuyến AKA Pi]. Tôi đã có một số lý do cho việc này

  • Đó là Raspberry Pi 4B+ so với. 3B+ cho phần còn lại. Tôi lập luận rằng máy mạnh hơn sẽ là nơi tốt nhất để cài đặt nó
  • Tôi đã thử nghiệm với cơ sở dữ liệu MySQL [có, MySQL] nằm trên MacBook của mình để xem điều đó có tạo ra sự khác biệt về hiệu suất không. Nó không
  • Có lẽ lý do chính khiến tôi cài đặt MariaDB trên
    sudo mysql -uroot
    4 là nó có thể truy cập được từ cả cụm và mạng bên ngoài

Cài đặt đơn giản. Bản cài đặt MariaDB đi kèm với cả thành phần máy khách và máy chủ. Để cài đặt

sudo apt-get install mariadb-server -y

sudo mysql -uroot
6 chỉ đạo
sudo mysql -uroot
3 tự động trả lời có cho tất cả các lời nhắc. Bỏ nó đi nếu bạn muốn kiểm soát nhiều hơn việc cài đặt

Như đã nêu ở trên, lệnh này cũng sẽ cài đặt ứng dụng khách MariaDB. Để đăng nhập lần đầu tiên, bạn sẽ phải sử dụng người dùng

sudo mysql -uroot
8. Truy cập thông qua người dùng
sudo mysql -uroot
8 được bảo vệ, vì vậy bạn sẽ phải sử dụng
sudo mysql_secure_installation
0

sudo mysql -uroot

Việc phải sử dụng

sudo mysql_secure_installation
0 không phải là tối ưu. Chúng ta sẽ xem cách giải quyết vấn đề này trong phần tiếp theo

Có một tùy chọn để cải thiện tính bảo mật của cài đặt cơ bản được thực hiện ở trên. Điều này được thực hiện bằng cách sử dụng công cụ

sudo mysql_secure_installation
2. Bạn có thể sử dụng nó để đặt mật khẩu gốc thích hợp cũng như tùy chọn cấu hình một số cài đặt khác có thể giúp cài đặt an toàn hơn. Bạn chạy nó như sau

________số 8_______

Làm theo lời nhắc phù hợp với yêu cầu của bạn

Cài đặt phần mềm máy khách trên các máy chủ khác trong mạng rất đơn giản. Trên máy Mac, bạn có thể sử dụng Homebrew

brew install mysql-client

Trên máy chủ Raspberry Pi, hãy chạy

sudo apt-get install mysql-client

Ngay cả khi bạn làm theo tất cả các bước trên, bạn vẫn sẽ bị hạn chế khá nhiều trong những việc bạn có thể làm, kể cả việc đăng nhập với quyền root mà không sử dụng

sudo mysql_secure_installation
0. Chúng tôi sẽ đề cập đến cách giải quyết vấn đề đó tiếp theo

Định cấu hình MariaDB

Tại thời điểm này, bạn có một máy chủ MariaDB đang chạy và phần mềm máy khách mà bạn cần quản trị và tương tác với nó. Ban đầu, chỉ có người dùng root được cấu hình và bạn phải sử dụng

sudo mysql_secure_installation
0 để đăng nhập. Ngoài ra, truy cập từ xa không được bật và sẽ phải được định cấu hình

Hoàn thành thiết lập người dùng root

Bước này sẽ giúp bạn không cần phải sử dụng

sudo mysql_secure_installation
0 để đăng nhập vào MariaDB. Đăng nhập vào MariaDB như chúng ta đã làm trong phần trước

sudo mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 67
Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
...

Tiếp theo, chúng ta cần sửa đổi quyền của

sudo mysql -uroot
8

MariaDB [[none]]> GRANT ALL PRIVILEGES on *.* 
TO 'root'@'%'
IDENTIFIED BY '';
Query OK, 0 rows affected [0.001 sec]
MariaDB [[none]]> FLUSH PRIVILEGES;
Query OK, 0 rows affected [0.001 sec]

Lệnh đầu tiên định cấu hình quyền truy cập root từ bất kỳ máy nào trong mạng [điều đó xảy ra với

sudo mysql_secure_installation
7].
sudo mysql_secure_installation
8 được sử dụng để đặt mật khẩu của
sudo mysql -uroot
8 [nếu bạn vẫn cần làm điều đó].
brew install mysql-client
0 làm cho các thay đổi có hiệu lực ngay lập tức

Để đảm bảo tất cả điều này hoạt động, hãy đăng xuất khỏi phiên và đăng nhập lại mà không sử dụng

sudo mysql_secure_installation
0

mysql -uroot -hlocalhost -p

Bạn sẽ được nhắc nhập mật khẩu. Nhập mật khẩu của

sudo mysql -uroot
8. Nếu bạn đã đăng nhập, hãy tiếp tục và đăng xuất

quit;

Nếu bạn gặp sự cố, hãy xem lại các bước trên và đảm bảo rằng bạn đã làm mọi thứ

Định cấu hình truy cập từ xa

Nếu bạn định truy cập máy chủ từ bất kỳ máy chủ từ xa nào hoặc thậm chí là địa chỉ IP của máy chủ cục bộ, bạn sẽ cần định cấu hình MariaDB để cho phép điều đó. Để thực hiện điều này, bạn cần chỉnh sửa

brew install mysql-client
3 [tên tệp thực tế có thể khác nhưng vị trí phải giống nhau]. Đây là tệp cấu hình cho MariaDB. Một vài dòng trên cùng của tệp sẽ trông giống như thế này

Lưu ý dòng cuối cùng ở trên, dòng xác định

brew install mysql-client
4. Nếu điều này không được bình luận và nó sẽ không được bình luận, thì bạn sẽ chỉ có thể kết nối với MariaDB từ
brew install mysql-client
5 hoặc
brew install mysql-client
6. Để cho phép kết nối từ nơi khác trong mạng, giống như các máy chủ khác trong cụm, bạn sẽ cần nhận xét dòng đó như được hiển thị ở trên và khởi động lại máy chủ

sudo systemctl restart mysql

Cần phải khởi động lại để tải lại cấu hình đã sửa đổi

Bạn có thể xác minh bước này đã thành công bằng cách đăng nhập lại vào MariaDB nhưng sử dụng địa chỉ IP không cục bộ của máy chủ lưu trữ. Bạn có thể thực hiện điều tương tự bằng cách đăng nhập từ một máy chủ khác. Địa chỉ chủ nhà của tôi là

brew install mysql-client
7

sudo mysql -uroot
0

Nếu cách này không hiệu quả, hãy quay lại và kiểm tra lại các bước ở trên, bao gồm cả việc khởi động lại MariaDB

Thêm người dùng khác và định cấu hình để truy cập từ xa

Vì vậy, bây giờ bạn có thể đăng nhập bằng tên

sudo mysql -uroot
8 từ máy cục bộ cũng như từ các máy chủ khác. Tiếp theo, bạn sẽ muốn thêm người dùng cho ứng dụng của mình và thiết lập các quyền truy cập cần thiết. Trong trường hợp này, chúng tôi sẽ thêm người dùng
brew install mysql-client
9 với mật khẩu là
brew install mysql-client
9 [tất nhiên, bạn sẽ không bao giờ chỉ định mật khẩu khớp với ID người dùng trong thế giới thực vì điều đó cực kỳ không an toàn]

sudo mysql -uroot
8, hãy đăng nhập vào máy chủ [xin lỗi, bạn phải sử dụng
sudo mysql_secure_installation
0 cho việc này]

sudo mysql -uroot
1

Nhập các lệnh sau

sudo mysql -uroot
2

sudo apt-get install mysql-client
3 cho biết chúng tôi muốn thực hiện các lệnh sau từ cơ sở dữ liệu
sudo apt-get install mysql-client
4. Đây là cơ sở dữ liệu hệ thống chính, nơi lưu trữ những thứ như thông tin người dùng.
sudo apt-get install mysql-client
5 rõ ràng là tạo người dùng. Như với
sudo mysql -uroot
8 ở trên,
sudo apt-get install mysql-client
7 cho biết người dùng sẽ được phép đăng nhập từ máy chủ nào. Chỉ định ký tự đại diện
sudo apt-get install mysql-client
8 cho biết rằng người dùng
brew install mysql-client
9 sẽ được phép đăng nhập từ bất kỳ máy chủ nào. Như trên,
sudo mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 67
Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
...
0 chỉ định mật khẩu

sudo mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 67
Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
...
1 xác định rằng người dùng này sẽ có thể thực hiện hầu hết mọi hoạt động, bao gồm tạo cơ sở dữ liệu và bảng, cũng như cấp quyền cho người khác để thực hiện điều tương tự. Đây cũng là một vấn đề nhỏ về bảo mật và không phải là điều bạn muốn làm trong thực tế

brew install mysql-client
0 tải lại cấu hình đặc quyền

Như với

sudo mysql -uroot
8, bây giờ bạn có thể đăng nhập vào máy chủ với tên
sudo mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 67
Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
...
4 từ bất kỳ đâu trong cụm

Vậy là xong, bạn đã hoàn tất. MariaDB được cấu hình đầy đủ và sẵn sàng để sử dụng

Tóm lược

Trong bài viết này, chúng tôi đã cài đặt và định cấu hình MariaDB. Bước tiếp theo là sử dụng cụm làm nền tảng triển khai ứng dụng

Điều này đánh dấu sự kết thúc của Raspberry Pi trọng tâm của Phát triển và triển khai ứng dụng Kubernetes trên chuỗi Raspberry Pi Cluster. Các bài viết tiếp theo sẽ tập trung hơn vào một ứng dụng. Các mục tiêu cho ứng dụng này là

  1. Tương đối đơn giản, dễ hiểu và có chất lượng sản xuất. Nó phải hơn một mẫu ứng dụng đơn giản một chút và ít hơn một ứng dụng đầy đủ tính năng. Đây có thể là một hành động cân bằng khó khăn
  2. Thể hiện các phương pháp hay nhất cho các đặc điểm phi chức năng của ứng dụng, cái gọi là -ilities hoặc thuộc tính chất lượng của ứng dụng. Một số trong số này được hỗ trợ trực tiếp bởi nền tảng, tôi. e. , Kubernetes và Helm. Những thứ khác phải được thiết kế và triển khai vào ứng dụng, ví dụ: số liệu và ghi nhật ký
  3. Sử dụng hiệu quả các nguyên tắc ReSTful
  4. Kiểm thử tự động và tích hợp liên tục
  5. Triển khai lên Kubernetes thông qua Helm
  6. Viết bằng Go

Tôi đã đạt được tiến bộ tốt trên một ứng dụng giải quyết một phần các mục tiêu này. Nó vẫn đang trong quá trình hoàn thiện, nhưng đó là một khởi đầu tốt. Nếu bạn muốn xem trước, nó hiện có sẵn trên GitHub. Nếu bạn có tham vọng và đã thiết lập cụm của mình, README có thể giúp hướng dẫn bạn về các điều kiện tiên quyết khác và các bước triển khai. Nếu bạn thậm chí còn tham vọng hơn, hãy đọc mã, tạo vấn đề, gửi PR, v.v.

Cảm ơn vì đã theo dõi. Hãy theo dõi loạt bài viết tiếp theo thảo luận về các phương pháp hay nhất về phát triển và triển khai ứng dụng

Bạn có thể cài đặt MySQL trên Raspberry Pi không?

Cài đặt MySQL vào Raspberry Pi là một quy trình đơn giản và có thể được thực hiện bằng lệnh sau . 3. Với phần mềm máy chủ MySQL được cài đặt trên Raspberry Pi, bây giờ chúng ta sẽ cần bảo mật nó bằng cách đặt mật khẩu cho người dùng “root”.

Bạn có thể chạy SQL trên Raspberry Pi không?

Với Azure SQL Edge được cài đặt trên Raspberry Pi , bạn có thể tạo nhiều ứng dụng IoT. Tạo và truy vấn dữ liệu, chơi xung quanh một chút và sau đó tạo các ứng dụng của bạn bằng cách sử dụng máy học và trí tuệ nhân tạo.

Làm cách nào để cài đặt cơ sở dữ liệu SQL trong Raspberry Pi?

Các bước cho việc này như sau. .
Tải xuống trình điều khiển SQL Server ODBC cho Raspberry Pi. .
Cài đặt và cấp phép trình điều khiển SQL Server ODBC trên máy Raspberry Pi. .
Tạo nguồn dữ liệu ODBC trong /etc/odbc. ini kết nối với cơ sở dữ liệu SQL Server mà bạn muốn truy cập từ Python. .
Sử dụng isql để kiểm tra nguồn dữ liệu mới

Làm cách nào để truy cập cơ sở dữ liệu MySQL trên Raspberry Pi?

Kết nối với MySQL trên Raspberry Pi từ PC chạy Windows .
Cài đặt MySQL trên Raspberry Pi
Cài đặt Mariadb trên Raspberry Pi
Cho phép kết nối từ xa với Mariadb Trên Raspberry Pi
Đăng nhập vào Mariadb trên Raspberry Pi từ máy tính Windows

Chủ Đề