Làm cách nào để tìm địa chỉ ip mysql?

Máy chủ MySQL có thể chấp nhận các kết nối đến từ các địa chỉ IP cụ thể. Theo mặc định, mọi máy chủ MySQL lắng nghe địa chỉ IP cục bộ 127. 0. 0. 1, mọi máy chủ MariaDB chấp nhận tất cả các kết nối (tôi. e. nó nghe 0. 0. 0. 0). Bạn có thể thiết lập truy cập từ xa

 Note! This function is not available for  PostgreSQL

Điều hướng đến Cài đặt cụm → Nút cụm → chọn máy chủ có vai trò máy chủ MySQL → nhấp vào Chỉnh sửa. Trên biểu mẫu sẽ mở cho phép truy cập từ xa và chọn một địa chỉ IP


Note! For new installations, remote access will be disabled on a cluster node.  By default remote access to all cluster nodes with a MySQL database server role, is enabled (IP address will be set to 0.0.0.0).

Tạo người dùng cơ sở dữ liệu


Quy trình tạo và chỉnh sửa người dùng sẽ được thay đổi theo thời gian. Nếu máy chủ hiện được phép truy cập từ xa, nơi người dùng sẽ được đặt, thì hộp kiểm tương ứng sẽ bị ẩn trên biểu mẫu cấu hình người dùng

Cài đặt tập lệnh APS


Trong ISPmanager Business, quy trình thiết lập tập lệnh APS sẽ được sửa đổi. nếu vai trò chính được gán cho các nút cụm có vai trò khác với vai trò MySQL của nó, bạn sẽ gặp lỗi sau khi thử cài đặt APS, trong trường hợp quyền truy cập từ xa hiện được cho phép

Tuy nhiên, trong một số trường hợp, cần phải truy cập máy chủ MySQL từ một vị trí từ xa. Ví dụ: bạn có thể cần kết nối với máy chủ MySQL từ xa từ hệ thống cục bộ của mình hoặc triển khai nhiều máy chủ nơi ứng dụng đang chạy trên một máy khác với máy chủ cơ sở dữ liệu. Một tùy chọn sẽ là truy cập máy chủ MySQL thông qua Đường hầm SSH và một tùy chọn khác là định cấu hình máy chủ MySQL để chấp nhận các kết nối từ xa

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, thì máy chủ MySQL chấp nhận các kết nối trên tất cả các giao diện IPv4 của máy chủ. Nếu bạn đã định 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, chẳng hạn 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

________số 8_______

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ó 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

sudo systemctl restart mysqld

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

sudo mysql

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

mysql -uroot -p

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

sudo systemctl restart mysqld
0 để cấp quyền truy cập cho người dùng từ xa

GRANT ALL ON database_name.* TO user_name@'ip_address' IDENTIFIED BY 'user_password';

Ở đâu

  • sudo systemctl restart mysqld
    1 là tên của cơ sở dữ liệu mà người dùng sẽ kết nối với
  • sudo systemctl restart mysqld
    2 là tên của người dùng MySQL
  • sudo systemctl restart mysqld
    3 là địa chỉ IP mà người dùng sẽ kết nối từ đó. Sử dụng
    sudo systemctl restart mysqld
    4 để cho phép người dùng kết nối từ bất kỳ địa chỉ IP nào
  • sudo systemctl restart mysqld
    5 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

sudo systemctl restart mysqld
6 cho người dùng có tên
sudo systemctl restart mysqld
7 với mật khẩu
sudo systemctl restart mysqld
8 từ một máy khách có IP
sudo systemctl restart mysqld
9, bạn sẽ chạy

GRANT ALL ON dbname.* TO foo@'10.8.0.5' IDENTIFIED BY 'my_passwd';

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

sudo mysql
0 (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 iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT

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

sudo iptables -A INPUT -s 10.8.0.5 -p tcp --destination-port 3306 -j ACCEPT

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ú. Hãy tạo một khu vực mới có tên là

sudo mysql
1

bind-address           = 0.0.0.0
# skip-networking
3

Xác minh các 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 đó

sudo systemctl restart mysqld
2 là tên của người dùng mà bạn đã cấp quyền truy cập và
sudo mysql
3 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 để kiểm tra địa chỉ IP của MySQL?

Cách tìm địa chỉ IP cơ sở dữ liệu và cổng SQL của bạn .
Giữ phím windows trên bàn phím của bạn và sau đó nhấn phím "R" để mở hộp "Chạy"
Nhập "cmd" vào hộp văn bản và sau đó nhấp vào "OK"
Trong hộp đen xuất hiện gõ "ipconfig"

Làm cách nào để đặt địa chỉ IP trong MySQL?

Nếu bạn muốn định cấu hình MySQL và liên kết các địa chỉ IP, bạn nên chỉnh sửa tệp cấu hình /etc/mysql/mysql. conf. d/mysqld. cnf và thay đổi giá trị địa chỉ IP mặc định bằng cách phân tách từng địa chỉ bằng dấu phẩy .