Gần đây tôi đã có cùng một vấn đề bản thân mình. Tôi đã làm cho nó hoạt động bằng cách làm như sau:
Chỉnh sửa cấu hình MySQL
Theo mặc định, MySQL không được cấu hình để chấp nhận các kết nối từ xa. Bạn có thể bật kết nối từ xa bằng cách sửa đổi tệp cấu hình:
sudo nano /etc/mysql/my.cnf
Tìm [mysqld]
tiết diện. Dòng bạn cần thay đổi là bind-address
, giá trị này phải được đặt thành giá trị mặc định là 127.0.0.1
. Bạn muốn chỉnh sửa dòng này để thay vào đó hiển thị IP của RPi của bạn trên mạng (dường như là 192.168.1.102 từ ví dụ của bạn). Viết các thay đổi.
Khởi động lại dịch vụ MySQL
sudo service mysql restart
Thiết lập quyền của MySQL
Kết nối với phiên bản MySQL của bạn dưới dạng root:
mysql -p -u root
Tạo người dùng:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Bắt buộc phải có dấu nháy đơn (') trong cú pháp
- Địa chỉ IP là địa chỉ IP của thiết bị trên mạng mà bạn đang cố kết nối
Cấp quyền cho cơ sở dữ liệu và bảng có liên quan:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- Các thông số là những thông số bạn đã sử dụng để tạo người dùng của mình ở bước trước đó
- Dấu * sẽ cấp quyền truy cập vào tất cả các bảng trong cơ sở dữ liệu được chỉ định. Ngoài ra, bạn có thể chỉ định một bảng cụ thể
- Bạn có thể muốn tăng cường bảo mật bằng cách chỉ cấp các đặc quyền liên quan, nhưng điều đó cũng đủ để kiểm tra xem nó có hoạt động không
Điều đó hy vọng sẽ làm được!