Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối từ xa với MySQL trên Google Compute Engine VM

Tôi vừa tìm ra giải pháp cho vấn đề của mình,

Đặc biệt cảm ơn @Slava đã chỉ đường cho tôi, dù sao thì đó cũng là iptables.

Vì vậy, tôi tiếp tục nhận được thông báo "Kết nối MySQL bị từ chối" khi cố gắng kết nối từ xa vì vậy tôi đã tìm cách xem nhật ký kết nối TCP và tôi tìm thấy tcpdump lệnh.

Bằng cách chạy sudo tcpdump port 3306 -vvv -n Tôi thấy kết quả sau mỗi khi cố gắng kết nối từ xa:

Tôi đã tìm kiếm trang người đàn ông tcpdump và thấy rằng R có nghĩa là cờ TCP RST (ĐẶT LẠI).

Tìm kiếm một chút và tìm thấy điều này câu hỏi và câu trả lời được chấp nhận của nó đã đưa tôi trở lại IPTABLES mà @Slava đã đề xuất kể từ nhận xét đầu tiên.

Đó là khi tôi xem xét kỹ và thấy rằng INPUT ACCEPT tcp:3306 của tôi đã được xác định sau quy tắc từ chối REJECT TCP-với tcp-reset do đó nhật ký được hiển thị.

Sau đó, tôi chỉ xóa quy tắc để chấp nhận tcp:3306 và thêm nó vào các quy tắc tcp từ chối và thì đấy!

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT {line number from the first reject tcp rule} -p tcp -m tcp --dport 3306 -j ACCEPT

IPTABLES bây giờ trông như thế này và cuối cùng tôi có thể kết nối với MySQL từ xa:

Để liệt kê các iptables với loại số dòng:

sudo iptables -nL --line-numbers

Ý tưởng cuối cùng:

  • Điều này có thể được cải thiện bằng cách đưa địa chỉ IP nguồn vào danh sách trắng từ nơi bạn đang thực hiện kết nối từ xa vì các vấn đề bảo mật.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JPA và Hibernate khởi tạo Lỗi bộ sưu tập không lười biếng

  2. MySQL, json, JSON_ARRAY_APPEND - tại sao append không hoạt động trên 5.7.13?

  3. Tham số JDBC verifyServerCertificate =false kết nối mà không cần clientkeystore và truststore

  4. OpenSSL - tra cứu độ sâu lỗi 18 ở 0:chứng chỉ tự ký

  5. Đặt backquote ở chế độ ngủ đông cho tất cả các tên bảng / cột