Không có gì lạ khi lưu trữ cơ sở dữ liệu và máy chủ web trên cùng một máy cục bộ. Tuy nhiên, nhiều tổ chức hiện đang chuyển sang một môi trường phân tán hơn
Một máy chủ cơ sở dữ liệu riêng biệt có thể cải thiện bảo mật, hiệu suất phần cứng và cho phép bạn mở rộng quy mô tài nguyên một cách nhanh chóng. Trong những trường hợp sử dụng như vậy, ưu tiên hàng đầu là học cách quản lý tài nguyên từ xa một cách hiệu quả
Hướng dẫn này chỉ cho bạn cách bật kết nối từ xa tới cơ sở dữ liệu MySQL
điều kiện tiên quyết
- Truy cập vào cửa sổ đầu cuối/dòng lệnh
- Máy chủ MySQL từ xa
- Quyền sudo hoặc quyền root trên máy cục bộ và máy từ xa
Ghi chú. Nếu bạn không có quyền truy cập trực tiếp vào máy chủ MySQL của mình, bạn cần thiết lập kết nối SSH an toàn. Trong trường hợp bạn cần hỗ trợ, chúng tôi đã chuẩn bị một hướng dẫn toàn diện về cách sử dụng SSH để kết nối với máy chủ từ xa. Bài viết này phải đọc cho bất kỳ ai mới tham gia quy trình
Kết nối từ xa máy chủ MySQL
Cho phép kết nối với máy chủ MySQL từ xa được thiết lập trong 3 bước
1. Chỉnh sửa tệp cấu hình MySQL
2. Cấu hình tường lửa
3. Kết nối với máy chủ MySQL từ xa
Bước 1. Chỉnh sửa tệp cấu hình MySQL
1. 1 Truy cập mysqld. tập tin cnf
Sử dụng trình soạn thảo văn bản ưa thích của bạn để mở mysqld. tập tin cnf. Ví dụ này sử dụng trình soạn thảo văn bản nano trong Ubuntu 18. 04. Nhập lệnh sau vào giao diện dòng lệnh của bạn để truy cập tệp cấu hình máy chủ MySQL
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Vị trí của tệp có thể thay đổi dựa trên bản phân phối và phiên bản đang sử dụng. Nếu tệp cấu hình MySQL không phải là vị trí mặc định của nó, hãy thử sử dụng lệnh Linux
sudo systemctl restart mysql
4 để phát hiện nó1. 2 Thay đổi địa chỉ liên kết IP
Bây giờ bạn có quyền truy cập vào tệp cấu hình máy chủ MySQL. Kéo xuống dòng bind-address và thay đổi địa chỉ IP. IP mặc định hiện tại được đặt thành 127. 0. 0. 1. IP này giới hạn các kết nối MySQL với máy cục bộ
IP mới phải trùng với địa chỉ của máy cần truy cập MySQL server từ xa. Ví dụ: nếu bạn liên kết MySQL với 0. 0. 0. 0, thì bất kỳ máy nào truy cập máy chủ MySQL cũng có thể kết nối với nó
Khi bạn thực hiện các thay đổi cần thiết, hãy lưu và thoát khỏi tệp cấu hình
Ghi chú. Quyền truy cập từ xa được xác minh bổ sung bằng cách sử dụng thông tin xác thực và thông số người dùng chính xác mà bạn đã xác định cho người dùng MySQL của mình
1. 3 Khởi động lại dịch vụ MySQL
Áp dụng các thay đổi được thực hiện cho tệp cấu hình MySQL bằng cách khởi động lại dịch vụ MySQL
sudo systemctl restart mysql
Tiếp theo, cài đặt tường lửa hiện tại của bạn cần được điều chỉnh để cho phép lưu lượng truy cập vào cổng MySQL mặc định
Bước 2. Thiết lập tường lửa để cho phép kết nối MySQL từ xa
Trong khi chỉnh sửa tệp cấu hình, có thể bạn đã quan sát thấy rằng cổng MySQL mặc định là 3306
Nếu bạn đã định cấu hình tường lửa trên máy chủ MySQL của mình, bạn cần mở lưu lượng truy cập cho cổng cụ thể này. Thực hiện theo các hướng dẫn bên dưới tương ứng với dịch vụ tường lửa của bạn đang sử dụng
UFW là công cụ tường lửa mặc định trong Ubuntu. Trong cửa sổ đầu cuối, nhập lệnh sau để cho phép lưu lượng truy cập và khớp IP và cổng
sudo ufw allow from remote_ip_address to any port 3306
Hệ thống xác nhận luật đã được cập nhật thành công
Lựa chọn 2. Tường lửaD
Công cụ quản lý tường lửa trong CentOS sử dụng các vùng để chỉ ra lưu lượng nào được phép
Tạo một vùng mới để đặt quy tắc cho lưu lượng máy chủ MySQL. Tên của vùng trong ví dụ của chúng tôi là mysqlrule và chúng tôi đã sử dụng địa chỉ IP từ ví dụ trước 133. 155. 44. 103
sudo firewall-cmd --new-zone=mysqlrule --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --zone=mysqlrule --add-source=133.155.44.103
sudo firewall-cmd --permanent --zone=mysqlrule --add-port=3306/tcp
sudo firewall-cmd --reload
Bạn đã mở thành công cổng 3306 trên tường lửa của mình
Tùy chọn 3. Mở Port 3306 bằng iptables
Tiện ích iptables có sẵn trên hầu hết các bản phân phối Linux theo mặc định. Nhập lệnh sau để mở cổng MySQL 3306 để lưu lượng truy cập không bị hạn chế
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
Để giới hạn quyền truy cập vào một địa chỉ IP cụ thể, thay vào đó hãy sử dụng lệnh sau
sudo iptables -A INPUT -p tcp -s 133.155.44.103 --dport 3306 -j ACCEPT
Lệnh này cấp quyền truy cập cho 133. 155. 44. 103. Bạn sẽ cần thay thế nó bằng IP cho kết nối từ xa của mình
Cần lưu các thay đổi được thực hiện đối với quy tắc iptables. Trong bản phân phối dựa trên Ubuntu, hãy nhập các lệnh sau
sudo netfilter-persistent save
sudo netfilter-persistent reload
Ghi chú. Nếu các lệnh trước đó không hoạt động, hãy thử cài đặt chương trình với
________số 8Nhập lệnh tiếp theo để lưu các quy tắc iptables mới trong CentOS
service iptables save
Bước 3. Kết nối với máy chủ MySQL từ xa
Máy chủ từ xa của bạn hiện đã sẵn sàng chấp nhận kết nối. Sử dụng lệnh sau để thiết lập kết nối với máy chủ MySQL từ xa của bạn
sudo systemctl restart mysql
0sudo systemctl restart mysql
5 trong lệnh đại diện cho tên người dùng MySQL của bạn. sudo systemctl restart mysql
6 là IP hoặc tên máy chủ của máy chủ MySQL của bạn. Tùy chọn sudo systemctl restart mysql
7 nhắc bạn nhập mật khẩu cho tên người dùng MySQLBạn sẽ thấy một đầu ra tương tự như bên dưới
sudo systemctl restart mysql
0Làm cách nào để cấp quyền truy cập từ xa vào cơ sở dữ liệu MySQL mới?
Nếu bạn chưa có bất kỳ cơ sở dữ liệu nào, bạn có thể dễ dàng tạo cơ sở dữ liệu bằng cách nhập lệnh sau vào trình bao MySQL của mình
sudo systemctl restart mysql
1Để cấp quyền truy cập cho người dùng từ xa vào một cơ sở dữ liệu cụ thể
sudo systemctl restart mysql
2Tên của cơ sở dữ liệu, tên người dùng, IP từ xa và mật khẩu phải khớp với thông tin bạn muốn sử dụng cho kết nối từ xa
Cách cấp quyền truy cập từ xa vào cơ sở dữ liệu MySQL hiện có
Cấp quyền truy cập từ xa cho người dùng đối với cơ sở dữ liệu hiện có yêu cầu một bộ hai lệnh
sudo systemctl restart mysql
3Người dùng 1 hiện có thể truy cập yourDB từ một vị trí từ xa được xác định bởi IP 133. 155. 44. 103
Phần kết luận
Trong bài viết này, bạn đã có được cái nhìn sâu sắc có giá trị về các nguyên tắc chung của kết nối MySQL từ xa
Với thông tin đăng nhập phù hợp, người dùng có nguồn gốc từ địa chỉ IP được chỉ định hiện có thể truy cập máy chủ MySQL của bạn từ một máy từ xa