Nếu bạn thực hiện cài đặt bình thường MySQL trên Debian, nó sẽ được định cấu hình để chặn các kết nối bên ngoài với cơ sở dữ liệu.
Điều này có nghĩa là bạn vẫn cần nói với MySQL rằng truy cập bên ngoài là OK. Để thực hiện việc này, bạn cần cập nhật địa chỉ liên kết cho MySQL. Điều này được định cấu hình trong my.cnf
, trên hệ thống dựa trên Debian, nằm trong /etc/mysql/my.cnf
.
Trong đó, tìm phần có nội dung
[mysqld]
Trong đó, bạn phải đảm bảo rằng
- dòng
skip-networking
được nhận xét (nhận xét bắt đầu bằng '#') hoặc không có ở đó và - Địa chỉ ràng buộc được đặt thành
0.0.0.0
(đó là địa chỉ nếu không có địa chỉ liên kết dòng) hoặc địa chỉ IP của máy chủ của bạn.
Sau khi thực hiện việc này, bạn nên khởi động lại dịch vụ MySQL của mình. Sau đó, bạn cần tạo một người dùng được phép truy cập từ xa. Điều này có thể được thực hiện bằng truy vấn SQL:
GRANT ALL ON yourdatabase.* TO [email protected]'*' IDENTIFIED BY 'yourpassword';
Bạn có thể chuyển dấu hoa thị cho địa chỉ IP mà bạn sẽ kết nối, nếu địa chỉ IP này luôn giống nhau.
Cuối cùng, bạn cần mở cổng 3306 (cổng mà MySQL sử dụng) trên tường lửa của bạn. Điều này thường không cần thiết vì nó đã được mở trên hầu hết các hệ thống, nhưng nó có thể được thực hiện bằng cách sử dụng lệnh iptables sau.
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
Nguồn: 1