Ip mysql

Mặc dù MySQL sẽ vô hiệu hóa tính năng điều khiển từ xa, bạn cần bật lên bằng cách mở tệp cấu hình MySQL và điều chỉnh như sau

vi /etc/my.cnf

Comment những dòng sau

bind-address = 127.0.0.1
skip-networking

Thành

# bind-address = 127.0.0.1
# skip-networking

Khởi động lại MySQL

service mysql restart

Phân quyền truy cập từ xa MySQL

Về mặc định thì MySQL chỉ được phân quyền truy cập từ local mà thôi, bạn cần cập nhật thêm một vài bước để có thể kết nối từ bên ngoài

Chạy lệnh bên dưới để cho phép truy cập từ tất cả các máy

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

Hoặc chạy lệnh như bên dưới để cấp quyền truy cập từ IP cụ thể

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

Thay thế 1. 2. 3. 4 bằng IP của mình. Có thể chạy lệnh nhiều lần để cấp quyền truy cập từ nhiều IP.
Bạn có thể chỉ định USERNAME & PASSWORD riêng để truy cập từ xa.

Cuối cùng, bạn cần chạy lệnh sau

mysql> FLUSH PRIVILEGES;
mysql> exit

Mở cổng MySQL [3306] trên tường lửa

Đôi khi bạn cần mở thủ công cổng MySQL để thiết lập kết nối, nếu bước 2 phía trên không thành công thì bạn có thể chạy lệnh sau

iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

Kiểm tra kết nối từ xa

Sử dụng Navicat [Windows] hoặc bạn có thể kiểm tra bằng lệnh sau trên Linux

________số 8

Thay “HOST” bằng IP của máy chủ bạn muốn truy cập, tương ứng với tên người dùng và mật khẩu

Nếu bạn đã truy cập được vào MySQL, bạn nên chạy lệnh “hiển thị cơ sở dữ liệu;” . Chúc các bạn thành công

Các bạn lưu ý. Việc mở kết nối cơ sở dữ liệu từ xa qua Internet có nguy cơ bị hacker tấn công và dò mật khẩu trên cổng 3306, vì vậy hãy cân nhắc trước khi thực hiện mở cổng

BƯỚC 1. Open port 3306 on fire.
Trong khi SSH vào VPS, bạn chạy lệnh sau để mở cổng 3306.

bind-address = 127.0.0.1
skip-networking
6

Các bạn có thể kiểm tra xem cổng đã mở hay chưa bằng cách truy cập vào trang ping. eu -> kiểm tra cổng -> Nhập IP của VPS, nhập cổng 3306, nhập captcha và kiểm tra, nếu cổng mở ra thì cổng đã được mở.
Hoặc bạn có thể sử dụng lệnh telnet để kiểm tra cổng.

BƯỚC 2. Gán IP cho mysql

Sau đó các bạn đã sửa file /etc/my. cnf. d/máy chủ. cnf by

bind-address = 127.0.0.1
skip-networking
7

You add line bind-address=0. 0. 0. 0, if has been then, you edit back ip to 0. 0. 0. 0

Sau đó các bạn khởi động lại mysql bằng lệnh

bind-address = 127.0.0.1
skip-networking
8

BƯỚC 3. Tạo cơ sở dữ liệu từ xa cho người dùng bằng phpMyAdmin

Đầu tiên các bạn đăng nhập bằng tài khoản root hoặc admin database ở link: /phpmyadmin

Sau đó bạn chọn DB bạn muốn từ xa -> chọn Đặc quyền -> Thêm tài khoản người dùng

Sau đó các bạn điền thông tin user mới và cấp quyền cho user đó trên cơ sở dữ liệu, sau đó nhấn Go để tiếp tục

Chỉnh sửa lại các đặc quyền của người dùng đối với cơ sở dữ liệu, sau đó nhấn Go

Lưu ý với quyền DELETE và DROP sẽ cấp cho người dùng quyền xóa dữ liệu cơ sở dữ liệu, bạn cân nhắc khi cấp cho người dùng quyền này

Vì vậy người dùng đã được tạo thành công, các bạn có thể kiểm tra xem người dùng đã được tạo chưa bằng cách nhấp lại vào DB -> Đặc quyền

Để thực hiện bạn cần ssh vào máy chủ với quyền root. Nếu bạn không biết cách SSH, bạn có thể thực hiện theo hướng dẫn bên dưới nhé

  • Hướng dẫn SSH vào máy chủ Linux

Bước 2. Điều chỉnh file cấu hình mysql

cp  /etc/mysql/my.cnf  /etc/mysql/my.cnf.bak
 /etc/mysql/my.cnf

Đầu tiên bạn hãy mở tệp của tôi. cnf lên. Sau đó tìm giá trị bind-address = 127. 0. 0. 1, với dòng này có nghĩa là máy chủ sẽ chỉ tìm kiếm các bộ kết nối cục bộ. Và bạn cần thay đổi giá trị này bằng IP cố định của bạn, hoặc sử dụng *,. or 0. 0. 0. 0 để cho phép tất cả các kết nối

Bước 3. Cấu hình tường lửa

  • Đối chiếu với UFW [Uncomplicated Firewall]

UFW là công cụ tường lửa mặc định trong Ubuntu, bạn cần mở cho phép IP hoạt động trên cổng 3306

bind-address = 127.0.0.1
skip-networking
0
  • Đối chiếu với FirewallD

FirewallD là ứng dụng tường lửa mặc định của CentOS. Bạn cần tạo một vùng mới để cho phép truy cập IP

bind-address = 127.0.0.1
skip-networking
1
  • Đối chiếu với iptables

iptables có sẵn trên hầu hết các bản phân phối mặc định của Linux. You use after to open

bind-address = 127.0.0.1
skip-networking
2

Bước 4. Bật Máy chủ MySQL từ xa

Trong bài viết này mình sẽ thích một số dòng và bạn hãy thay đổi bằng thông tin của bạn

  • người dùng_1. tên người dùng
  • cơ sở dữ liệu1. Tên cơ sở dữ liệu
  • %. The value % will allow all IP access to
  • 11. 22. 33. 44. IP is only access to
  • *. Áp dụng toàn bộ cơ sở dữ liệu

Trường hợp 1. Cho phép kết nối với tất cả IP và tất cả người dùng

Ở trường hợp này sẽ cho phép bạn kết nối với tất cả IP truy cập vào và sẽ thấy tất cả các Cơ sở dữ liệu trên đó. Trường hợp này ít được sử dụng vì mang tính nguy hiểm do truy cập là tất cả DB

bind-address = 127.0.0.1
skip-networking
3

Trường hợp 2. Cho phép kết nối với tất cả IP với Cơ sở dữ liệu định sẵn

Trường hợp này thường sử dụng nhiều. Khi bạn sử dụng trường hợp này thì tất cả IP sẽ truy cập được và chỉ truy cập vào Cơ sở dữ liệu duy nhất chỉ được xác định khi từ xa thông qua user/passwd

bind-address = 127.0.0.1
skip-networking
4

Trường hợp 3. Cho phép kết nối với IP và Cơ sở dữ liệu cố định

Trường hợp này khi bạn cấu hình chỉ định thì chỉ IP duy nhất bạn mới được cấp quyền truy cập vào. Với các IP khác sẽ không thể truy cập vào được

bind-address = 127.0.0.1
skip-networking
5

Sau mỗi thiết lập bạn cần khởi động lại dịch vụ MySQL để áp dụng thay đổi. You start up the command after

Chủ Đề