Hướng dẫn port mysql ubuntu - cổng mysql ubuntu

Hướng dẫn kích hoạt Remote Access MySQL

1. Thay đổi cấu hình MySQL

***Lưu ý: bước này không cần làm nếu đang dùng HocVPS Script, mời bạn chuyển qua bước 2.

Mặc định MySQL sẽ disable remote access, bạn cần enable lên bằng cách mở file cấu hình MySQL, ví dụ với đường dẫn 

#bind-address = 127.0.0.1
#skip-networking
5

nano /etc/mysql/my.cnf

Comment những dòng sau:

#bind-address = 127.0.0.1
#skip-networking

Khởi động lại MySQL Server

service mysql restart

2. Gán quyền remote

Mặc định các account MySQL chỉ được gán quyền access locally mà thôi, để kết nối được từ bên ngoài, bạn cần thêm một bước là cập nhật privilege.

Trong ví dụ này, mình sẽ cho phép tài khoản 

#bind-address = 127.0.0.1
#skip-networking
6 được phép login remote.

– Login vào phpMyAdmin sử dụng tài khoản admin và password tự động generate khi bạn cài đặt HocVPS Script [hoặc tài khoản MySQL root].

– Nhấn tab Users, bạn sẽ thấy danh sách account MySQL hiện tại tương tự như sau

– Tiếp theo bạn nhấn tab SQL, nhập lệnh sau trong ô text rồi nhấn nút Go

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION

Lưu ý thay PASSWORD bằng mật khẩu tài khoản root, thay % bằng IP cụ thể nếu bạn chỉ cho phép login từ IP này. Ví dụ của mình sử dụng mật khẩu c0ef6f242253b0028

– Nếu không có vấn đề gì xảy ra thì bạn đã update quyền thành công. Tiếp theo quay trở lại tab Users bạn sẽ thấy thêm một hàng mới với Host là %

Bây giờ, bạn có thể kết nối trực tiếp đến MySQL Server từ máy tính cá nhân hoặc VPS khác rồi đấy.

– Nếu muốn tắt Remote Access, trong tab Users bạn chọn User name có Host là % rồi nhấn nút Remove selected users là xong.

3. Mở port 3306

Đôi khi, bạn cần mở port 3306 thủ công để MySQL có thể lắng nghe kết nối. Sau bước 2 mà vẫn không connect được, bạn hãy sử dụng lệnh sau:

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

Nếu muốn chỉ chấp nhận kết nối từ IP 

#bind-address = 127.0.0.1
#skip-networking
7, hãy sử dụng lệnh sau:

# iptables -I INPUT -i eth0 -s 10.5.1.3 -p tcp --destination-port 3306 -j ACCEPT

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.

  • Bước 1: SSH vào server Linux
  • Bước 2: Điều chỉnh file cấu hình mysql
  • Bước 3: Cấu hình Firewall
  • Bước 4: Bật Remote MySQL Server
    • Trường hợp 1: Cho phép kết nối với tất cả IP và Tất cả User
    • Ở trường hợp này sẽ cho phép bạn kết nối với tất cả IP access vào và sẽ nhìn thấy tất cả các Database trên đó. Trường hợp này ít dùng vì mang tính nguy hiểm do access được tất cả DB
    • Trường hợp 3: Cho phép kết nối với IP và Database cố định
  • Bước 5: Bật Remote MySQL Server với DB có sẵn

Bước 1: SSH vào server Linux

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

  • Trường hợp 2: Cho phép kết nối với tất cả IP với Database nhất định

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

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

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

Bước 3: Cấu hình Firewall

  • Đối 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 port 3306

ufw allow from remote_ip_address to any port 3306
  • Đối với FirewallD

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

firewall-cmd --new-zone=mysqlrule --permanent
firewall-cmd --reload
firewall-cmd --permanent --zone=mysqlrule --add-source=11.22.33.44
firewall-cmd --permanent --zone=mysqlrule --add-port=3306/tcp
firewall-cmd --reload
  • Đối 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. Bạn sử dụng lệnh sau để mở

#Cho phép tất cả kết nối qua cổng 3306
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT 
# Cho phép IP được chỉ định kết nối qua cổng 3306
iptables -A INPUT -p tcp -s 11.22.33.44 --dport 3306 -j ACCEPT
#Lưu lại cấu hình
service iptables save

Bước 4: Bật Remote MySQL Server

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

  • user_1: Tên user
  • database1: Tên Database
  • %: Giá trị % sẽ cho phép tất cả IP access vào
  • 11.22.33.44: IP được chỉ định access vào
  • *.: Áp dụng toàn bộ Database

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

Ở trường hợp này sẽ cho phép bạn kết nối với tất cả IP access vào và sẽ nhìn thấy tất cả các Database trên đó. Trường hợp này ít dùng vì mang tính nguy hiểm do access được tất cả DB

#bind-address = 127.0.0.1
#skip-networking
0Trường hợp 2: Cho phép kết nối với tất cả IP với Database nhất định

Trường hợp 2: Cho phép kết nối với tất cả IP với Database nhất định

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ẽ access được và chỉ access vào duy nhất Database chỉ định khi remote qua user/passwd

#bind-address = 127.0.0.1
#skip-networking
1

Trường hợp 3: Cho phép kết nối với IP và Database cố định

Trường hợp này khi bạn cấu hình chỉ định thì chỉ duy nhất IP bạn chỉ định mới được quyền access 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
2Sau mỗi thiết lập bạn cần khởi động lại dịch vụ MySQL để áp dụng thay đổi. Bạn hãy khởi động với lệnh sau

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. Bạn hãy khởi động với lệnh sau

#bind-address = 127.0.0.1
#skip-networking
3

Bước 5: Bật Remote MySQL Server với DB có sẵn

Đối với Database có sẵn bạn sử dụng cách này để cập nhật quyền.

#bind-address = 127.0.0.1
#skip-networking
4

Mr Quan

Mình tên là Đỗ Trung Quân, hiện đang công tác tại AZDIGI với vị trí là SysAdmin. Mình đam mê viết Blog. Vì viết Blog giúp mình trau dồi được nhiều kỹ năng. Học hỏi thêm nhiều kiến thức mới, từ đó mình có thể chia sẻ đến các bạn các bài viết tài liệu bổ ích hơn. Hiện tại mình là admin của Blog dotrungquan.info - linuxcanban.com - it.info.vn. Mới đây mình có tạo ra diễn đàn vpscanban.com này với mục đích gây dựng một cộng đồng nhỏ để mọi người trao đổi kinh nghiệm, kiến thức quản trị VPS. Các thủ thuật, mẹo vặt khi sử dụng VPS. Rất mong nhận được sự ủng hộ của các bạn.

Bài Viết Liên Quan

Chủ Đề