Nếu bạn muốn cho phép các kết nối từ xa đến máy chủ MySQL của mình, vì bạn có các máy tính và/hoặc người dùng khác cần truy cập dữ liệu đó, bạn sẽ cần liên kết dịch vụ MySQL với một địa chỉ IP công khai trên máy chủ của mình và có thể cho phép MySQL đến
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn từng bước để cho phép kết nối từ xa đến máy chủ MySQL trên hệ thống Linux. Các hướng dẫn này sẽ hoạt động độc lập với bất kỳ bản phân phối Linux nào bạn đang sử dụng
Trong hướng dẫn này, bạn sẽ học
- Cách cho phép kết nối từ xa đến máy chủ MySQL
- Cách cho phép kết nối từ xa tới MySQL thông qua tường lửa hệ thống
- Cách tạo hoặc thay đổi người dùng MySQL để cho phép kết nối từ xa
[mysqld] bind-address = 10.1.1.15. Conventions# – yêu cầu các lệnh linux đã cho phải được thực thi với quyền root trực tiếp với tư cách là người dùng root hoặc bằng cách sử dụng lệnh
[mysqld] bind-address = 10.1.1.15
$ – yêu cầu các lệnh linux đã cho phải được thực thi như một người dùng không có đặc quyền thông thường
mysql. Hướng dẫn từng bước cho phép kết nối từ xa
Theo dõi LinuxConfig. org trên Twitter để biết các mẹo và thủ thuật mới nhất về Linux.Cho phép kết nối từ xa tới cơ sở dữ liệu MySQL của bạn là quy trình gồm ba bước.
Trước tiên, chúng ta sẽ cần thiết lập dịch vụ MySQL để có thể truy cập được từ các máy từ xa bằng cách định cấu hình địa chỉ liên kết công khai trong tệp cấu hình MySQL
Thứ hai, chúng tôi sẽ cần cho phép truy cập từ xa thông qua tường lửa hệ thống của mình. Theo mặc định, MySQL chạy trên cổng 3306, vì vậy các kết nối tới cổng này sẽ cần được phép thông qua
Thứ ba, chúng tôi sẽ cần tạo một người dùng mới hoặc chỉnh sửa một người dùng hiện có để có thể truy cập được từ các địa chỉ IP từ xa. Chúng tôi có thể chọn cho phép tất cả các địa chỉ IP hoặc chỉ những địa chỉ cụ thể
Định cấu hình địa chỉ liên kết MySQL
- Chúng tôi sẽ bắt đầu bằng cách mở tệp
[mysqld] bind-address = 10.1.1.1
7. Với quyền root, hãy mở cái này bằng nano hoặc trình soạn thảo văn bản yêu thích của bạn.$ sudo nano /etc/mysql/mysql.cnf
- Tìm cài đặt có nội dung
[mysqld] bind-address = 10.1.1.1
8 bên dưới phần[mysqld] bind-address = 10.1.1.1
9. Theo mặc định, địa chỉ này hiện được cấu hình thành địa chỉ loopback[mysqld] bind-address = 10.1.1.1
4. Xóa địa chỉ đó và đặt địa chỉ IP công cộng của máy chủ của bạn vào vị trí của nó. Chúng tôi sẽ chỉ sử dụng[mysqld] bind-address = 0.0.0.0
1 vì lợi ích của ví dụ.[mysqld] bind-address = 10.1.1.1
Nếu muốn, thay vào đó, bạn có thể sử dụng
[mysqld] bind-address = 0.0.0.0
2 làm địa chỉ liên kết của mình, đây là ký tự đại diện và sẽ liên kết dịch vụ với tất cả các giao diện có thể truy cập. Điều này không được khuyến nghị, nhưng có thể tốt cho việc khắc phục sự cố nếu bạn gặp sự cố sau này[mysqld] bind-address = 0.0.0.0
- Sau khi bạn đã thực hiện thay đổi đó, hãy lưu các thay đổi của bạn vào tệp và thoát khỏi tệp. Sau đó, bạn sẽ cần khởi động lại dịch vụ MySQL để các thay đổi có hiệu lực.
[mysqld] bind-address = 10.1.1.1
1Trên một số distro, dịch vụ có thể được gọi là
[mysqld] bind-address = 0.0.0.0
3 thay thế[mysqld] bind-address = 10.1.1.1
3
Cho phép truy cập từ xa thông qua tường lửa
Giả sử bạn đang sử dụng cổng 3306 cho máy chủ MySQL của mình, chúng tôi sẽ cần cho phép điều này thông qua tường lửa hệ thống. Lệnh bạn cần thực thi sẽ phụ thuộc vào bản phân phối bạn đang sử dụng. Tham khảo danh sách bên dưới hoặc điều chỉnh lệnh nếu cần để tuân thủ cú pháp tường lửa của hệ thống của riêng bạn
Trên các hệ thống Ubuntu và các hệ thống khác sử dụng ufw [tường lửa không phức tạp]
[mysqld] bind-address = 10.1.1.14
Trên Red Hat, CentOS, Fedora và các hệ thống phái sinh sử dụng tường lửa
[mysqld] bind-address = 10.1.1.15
Và lệnh
[mysqld] bind-address = 0.0.0.04 cũ tốt sẽ hoạt động trên mọi hệ thống
[mysqld] bind-address = 10.1.1.17
Cho phép kết nối từ xa với một người dùng cụ thể
Giờ đây, dịch vụ MySQL có thể chấp nhận các kết nối đến và tường lửa của chúng tôi sẽ cho phép chúng đi qua, chúng tôi chỉ cần định cấu hình người dùng của mình để chấp nhận các kết nối từ xa
- Bắt đầu bằng cách mở MySQL bằng tài khoản root.
______18Hoặc, trên một số cấu hình, bạn có thể được yêu cầu nhập lệnh sau và cung cấp mật khẩu gốc của mình
[mysqld] bind-address = 10.1.1.1
9 - Nếu bạn đã tạo một người dùng và bạn cần định cấu hình người dùng đó để có thể truy cập từ địa chỉ IP từ xa, chúng ta có thể sử dụng lệnh MySQL
[mysqld] bind-address = 0.0.0.0
5. Chúng tôi sẽ làm cho người dùng[mysqld] bind-address = 0.0.0.0
6 của chúng tôi có thể truy cập được từ địa chỉ IP[mysqld] bind-address = 0.0.0.0
7 trong lệnh ví dụ bên dưới, nhưng điều chỉnh điều này nếu cần cho cấu hình của riêng bạn.[mysqld] bind-address = 10.1.1.1
0Hoặc, nếu bạn tạo người dùng này lần đầu tiên, chúng tôi sẽ sử dụng lệnh
[mysqld] bind-address = 0.0.0.0
8. Đảm bảo thay thế tên người dùng, địa chỉ IP và mật khẩu sau bằng của riêng bạn[mysqld] bind-address = 10.1.1.1
1 - Nếu bạn muốn người dùng của mình có thể truy cập được từ BẤT KỲ địa chỉ IP nào, thì bạn có thể sử dụng
[mysqld] bind-address = 0.0.0.0
9 trong lệnh của mình thay vì một địa chỉ IP cụ thể. Đây là cách chỉnh sửa người dùng hiện tại để có thể truy cập từ bất kỳ IP nào.[mysqld] bind-address = 10.1.1.1
2Và đây là cách tạo một người dùng mới có thể được truy cập từ bất kỳ địa chỉ IP nào
[mysqld] bind-address = 10.1.1.1
3
Thats tất cả để có nó. Sau khi cấp cho người dùng của bạn quyền truy cập vào một hoặc nhiều cơ sở dữ liệu, bạn sẽ có thể sử dụng thông tin đăng nhập tài khoản để truy cập cơ sở dữ liệu từ xa