Tôi có một tập lệnh Python nhỏ để thu thập điểm bài tập về nhà và bài tập trên lớp trực tuyến của học sinh từ bảng allstudentsAnswers20BE.
Điều này hoạt động rất tốt trên trang web lưu trữ web được chia sẻ cũ của tôi.
Trên máy chủ đám mây Ubuntu 20.04 mới, tôi bị từ chối kết nối.
Tôi không có kinh nghiệm chạy máy chủ đám mây.
Tôi đã cho phép các cổng 33060 và 3306 trong UFW
Ip của tôi ở nhà không cố định.
Khi tôi chạy tập lệnh Python, tôi gặp lỗi này khi cố gắng kết nối với máy chủ đám mây
pymysql.err.OperationalError: (1130, "183.206.16.30' không được phép
kết nối với máy chủ MySQL này")
netstat cho biết mysqld đang lắng nghe trên 33060 và 3306, vì vậy tôi đã cho phép cả hai trong tường lửa ufw
Kết nối với máy chủ đám mây qua ssh, tôi đã chạy:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Tôi đã thay đổi địa chỉ liên kết dòng thành 0.0.0.0 (tôi cũng đã thử *)
Tôi đã khởi động lại mysql: sudo systemctl restart mysql
Phải có một cái gì đó khác cần cài đặt, phía máy chủ.
Xin vui lòng cho bất kỳ lời khuyên nào, tôi thực sự cần điều này để làm việc.
Tôi cũng nhận được thông tin này (giả sử ip đám mây của tôi là 123.456.789.123):
pedro@ebs-105422:~$ nc -v -w 2 123.456.789.123 3306
Đã kết nối với cổng 123.456.789.123 3306 [tcp/mysql] thành công!
pedro@ebs-105422:~$
Điều này có nghĩa là mysqld đang nghe trên 3530 ?? Hay đó là PID của mysqld??
pedro@ebs-105422:~$ sudo netstat -tap | grep mysql
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* NGHE 3530/mysqld
tcp6 0 0 [::]:33060 [::]:* NGHE 3530/mysqld
pedro@ebs-105422:~$
Dưới đây là từ mysql trên máy chủ, xác nhận cổng 3306
mysql> hiển thị các biến trong đó tên_biến trong ('hostname','port');
+---------------+------------+
| Tên_biến | Giá trị |
+---------------+------------+
| tên máy chủ | ebs-105422 |
| cổng | 3306 |
+----------------+------------+
2 hàng trong bộ (0,01 giây)
mysql>