Làm cách nào để lấy địa chỉ IP MySQL?

Bài viết này hướng dẫn các bước cần thiết để cho phép kết nối từ xa đến máy chủ MySQL. Các hướng dẫn tương tự áp dụng cho MariaDB

Cấu hình máy chủ MySQL #

Bước đầu tiên là đặt máy chủ MySQL lắng nghe trên một địa chỉ IP cụ thể hoặc tất cả các địa chỉ IP trên máy

Nếu máy chủ MySQL và máy khách có thể giao tiếp qua mạng riêng, thì tùy chọn tốt nhất là đặt máy chủ MySQL chỉ nghe trên IP riêng

Mặt khác, nếu bạn muốn kết nối với máy chủ qua mạng công cộng, hãy đặt máy chủ MySQL lắng nghe trên tất cả các địa chỉ IP trên máy. Để làm như vậy, bạn cần chỉnh sửa tệp cấu hình MySQL và thêm hoặc thay đổi giá trị của tùy chọn

bind-address           = 0.0.0.0
# skip-networking
7. Bạn có thể đặt một địa chỉ IP và dải IP. Nếu địa chỉ là
bind-address           = 0.0.0.0
# skip-networking
8, máy chủ MySQL chấp nhận kết nối trên tất cả các giao diện IPv4 của máy chủ. Nếu bạn đã cấu hình IPv6 trên hệ thống của mình, thì thay vì
bind-address           = 0.0.0.0
# skip-networking
8, hãy sử dụng
sudo systemctl restart mysql
0

Vị trí của tệp cấu hình MySQL khác nhau tùy thuộc vào bản phân phối. Trong Ubuntu và Debian, tệp được đặt tại

sudo systemctl restart mysql
1, trong khi ở các bản phân phối dựa trên Red Hat như CentOS, tệp được đặt tại
sudo systemctl restart mysql
2

Mở tệp bằng trình soạn thảo văn bản của bạn

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Tìm kiếm một dòng bắt đầu bằng

bind-address           = 0.0.0.0
# skip-networking
7 và đặt giá trị của nó thành địa chỉ IP mà máy chủ MySQL sẽ lắng nghe

Theo mặc định, giá trị được đặt thành

sudo systemctl restart mysql
4 [chỉ nghe trong máy chủ cục bộ]

Trong ví dụ này, chúng tôi sẽ đặt máy chủ MySQL lắng nghe trên tất cả các giao diện IPv4 bằng cách thay đổi giá trị thành

bind-address           = 0.0.0.0
# skip-networking
8

mysqld. cnf

bind-address           = 0.0.0.0
# skip-networking

Nếu có một dòng chứa

sudo systemctl restart mysql
6, hãy xóa nó hoặc nhận xét nó bằng cách thêm
sudo systemctl restart mysql
7 vào đầu dòng

Trong Mysql 8. 0 trở lên, chỉ thị

bind-address           = 0.0.0.0
# skip-networking
7 có thể không có mặt. Trong trường hợp này, hãy thêm nó vào dưới phần
sudo systemctl restart mysql
9

Sau khi hoàn tất, hãy khởi động lại dịch vụ MySQL để thay đổi có hiệu lực. Chỉ root hoặc người dùng có đặc quyền sudo mới có thể khởi động lại dịch vụ

Để khởi động lại dịch vụ MySQL trên Debian hoặc Ubuntu, hãy nhập

sudo systemctl restart mysql

Trên các bản phân phối dựa trên RedHat như CentOS để khởi động lại dịch vụ đang chạy

bind-address           = 0.0.0.0
# skip-networking
6

Cấp quyền truy cập cho người dùng từ máy từ xa #

Bước tiếp theo là cho phép người dùng từ xa truy cập cơ sở dữ liệu

Đăng nhập vào máy chủ MySQL với tư cách là người dùng root bằng cách nhập

bind-address           = 0.0.0.0
# skip-networking
7

Nếu bạn đang sử dụng plugin xác thực MySQL gốc, cũ để đăng nhập với quyền root, hãy chạy lệnh bên dưới và nhập mật khẩu khi được nhắc

bind-address           = 0.0.0.0
# skip-networking
8

Từ bên trong MySQL shell, sử dụng câu lệnh

bind-address           = 0.0.0.0
# skip-networking
60 để cấp quyền truy cập cho người dùng từ xa

bind-address           = 0.0.0.0
# skip-networking
0

Ở đâu

  • bind-address           = 0.0.0.0
    # skip-networking
    
    61 là tên của cơ sở dữ liệu mà người dùng sẽ kết nối với
  • bind-address           = 0.0.0.0
    # skip-networking
    
    62 là tên của người dùng MySQL
  • bind-address           = 0.0.0.0
    # skip-networking
    
    63 là địa chỉ IP mà người dùng sẽ kết nối. Sử dụng
    bind-address           = 0.0.0.0
    # skip-networking
    
    64 để cho phép người dùng kết nối từ bất kỳ địa chỉ IP nào
  • bind-address           = 0.0.0.0
    # skip-networking
    
    65 là mật khẩu người dùng

Ví dụ: để cấp quyền truy cập vào cơ sở dữ liệu

bind-address           = 0.0.0.0
# skip-networking
66 cho người dùng có tên
bind-address           = 0.0.0.0
# skip-networking
67 với mật khẩu
bind-address           = 0.0.0.0
# skip-networking
68 từ máy khách có IP
bind-address           = 0.0.0.0
# skip-networking
69, bạn sẽ chạy

sudo systemctl restart mysql
0

Định cấu hình Tường lửa #

Bước cuối cùng là định cấu hình tường lửa của bạn để cho phép lưu lượng truy cập trên cổng

bind-address           = 0.0.0.0
# skip-networking
70 [cổng mặc định của MySQL] từ các máy từ xa

Iptables #

Nếu bạn đang sử dụng iptables làm tường lửa của mình, lệnh bên dưới sẽ cho phép truy cập từ bất kỳ địa chỉ IP nào trên Internet vào cổng MySQL. Điều này rất không an toàn

sudo systemctl restart mysql
2

Cho phép truy cập từ một địa chỉ IP cụ thể

sudo systemctl restart mysql
3

UFW #

UFW là công cụ tường lửa mặc định trong Ubuntu. Để cho phép truy cập từ bất kỳ địa chỉ IP nào trên Internet [rất không an toàn], hãy chạy

bind-address           = 0.0.0.0
# skip-networking
0

Cho phép truy cập từ một địa chỉ IP cụ thể

bind-address           = 0.0.0.0
# skip-networking
1

Tường lửaD #

FirewallD là công cụ quản lý tường lửa mặc định trong CentOS. Để cho phép truy cập từ bất kỳ địa chỉ IP nào trên Internet [rất không an toàn], hãy nhập

bind-address           = 0.0.0.0
# skip-networking
2

Để cho phép truy cập từ một địa chỉ IP cụ thể trên một cổng cụ thể, bạn có thể tạo vùng FirewallD mới hoặc sử dụng quy tắc phong phú. Tạo một khu vực mới có tên là

bind-address           = 0.0.0.0
# skip-networking
71

bind-address           = 0.0.0.0
# skip-networking
3

Xác minh Thay đổi #

Để xác minh rằng người dùng từ xa có thể kết nối với máy chủ MySQL, hãy chạy lệnh sau

bind-address           = 0.0.0.0
# skip-networking
4

Trong đó

bind-address           = 0.0.0.0
# skip-networking
62 là tên của người dùng mà bạn đã cấp quyền truy cập và
bind-address           = 0.0.0.0
# skip-networking
73 là địa chỉ IP của máy chủ nơi máy chủ MySQL chạy

Nếu mọi thứ được thiết lập chính xác, bạn sẽ có thể đăng nhập vào máy chủ MySQL từ xa

Nếu bạn gặp lỗi như bên dưới, thì cổng 3306 không mở hoặc máy chủ MySQL không nghe địa chỉ IP

bind-address           = 0.0.0.0
# skip-networking
5

Lỗi bên dưới cho biết người dùng mà bạn đang cố đăng nhập không có quyền truy cập máy chủ MySQL từ xa

bind-address           = 0.0.0.0
# skip-networking
6

Phần kết luận #

MySQL, máy chủ cơ sở dữ liệu nguồn mở phổ biến nhất theo mặc định, chỉ lắng nghe các kết nối đến trên máy chủ cục bộ

Làm cách nào để lấy địa chỉ IP trong MySQL?

Lại. Làm cách nào để tìm địa chỉ IP Mysql? . Đảm bảo bạn không nhập cả địa chỉ và địa chỉ IP. Chỉ sử dụng địa chỉ IP nếu trang web hoặc ứng dụng gọi cụ thể cho địa chỉ IP. Within the MySQL database management window the host name or server address is located in the row labeled “Host Name”. Make sure you do not input both the address and the IP address. Use the IP address only if the website or application calls specifically for the IP address.

Địa chỉ IP của MySQL là gì?

Theo mặc định, mọi máy chủ MySQL đều lắng nghe địa chỉ IP cục bộ 127. 0. 0. 1 , mọi máy chủ MariaDB đều chấp nhận mọi kết nối [i. e. nó nghe 0. 0. 0. 0].

Làm cách nào để lưu trữ địa chỉ IP trong cơ sở dữ liệu MySQL?

Chúng tôi có thể lưu trữ địa chỉ IP với sự trợ giúp của INT không dấu . Trong khi sử dụng INSERT, hãy thêm INET_ATON[] và với SELECT, hãy thêm INET_NTOA[]. Địa chỉ IP ở định dạng chấm.

Chủ Đề