Hosting
Tên miền
Cloud
Máy chủ
EmailSSLFirewall Anti DDoSTối ưu tốc độ website

Nội dung

Hướng dẫn cấu hình Remote access MySQL nhanh chóng

Ngày đăng:

18/11/2025

Cập nhật lần cuối:

19/11/2025

Khi cần quản lý cơ sở dữ liệu MySQL/MariaDB trên VPS từ máy tính cá nhân hoặc kết nối từ một ứng dụng web trên máy chủ khác, bạn phải bật tính năng truy cập từ xa. Mặc định, vì lý do bảo mật, MySQL chỉ cho phép kết nối từ bên trong VPS (localhost). Bài viết này sẽ hướng dẫn bạn chi tiết từng bước để kích hoạt Remote MySQL, cho phép bạn truy cập cơ sở dữ liệu từ xa trên các hệ điều hành phổ biến như Ubuntu, Debian, CentOS và AlmaLinux.

Chuẩn bị trước khi thực hiện

Trước khi bắt đầu, hãy đảm bảo bạn có đầy đủ các thông tin sau:

  • Quyền truy cập root vào VPS: Bạn cần có quyền root hoặc sudo để đăng nhập qua SSH và chỉnh sửa các file cấu hình hệ thống.
  • Địa chỉ IP của VPS: Dùng để kết nối SSH và cấu hình trong phần mềm client.
  • Mật khẩu root của MySQL/MariaDB: Cần thiết để đăng nhập và tạo người dùng, cấp quyền.

Bước 1: Đăng nhập vào VPS qua SSH

Đầu tiên, bạn mở Terminal (trên macOS/Linux) hoặc PowerShell/CMD (trên Windows) và sử dụng lệnh SSH để đăng nhập vào VPS.

ssh root@IP_VPS

Thay IP_VPS bằng địa chỉ IP của máy chủ của bạn. Sau đó, nhập mật khẩu khi được yêu cầu để truy cập vào hệ thống.

Đăng nhập vào VPS qua SSH
Xác định và mở file cấu hình

Bước 2: Chỉnh sửa file cấu hình MySQL để cho phép kết nối từ xa

Bước này yêu cầu MySQL lắng nghe các kết nối từ tất cả các địa chỉ IP, không chỉ riêng localhost.

1. Xác định và mở file cấu hình

Đường dẫn đến file cấu hình có thể khác nhau tùy hệ điều hành:

  • Trên Ubuntu/Debian: /etc/mysql/mysql.conf.d/mysqld.cnf.
  • Trên CentOS/AlmaLinux/RHEL: /etc/my.cnf.

Bạn sử dụng một trình soạn thảo văn bản như vi hoặc nano để mở file. Ví dụ với vi trên CentOS:

vi /etc/my.cnf
Xác định và mở file cấu hình
Xác định và mở file cấu hình

2. Thay đổi tham số bind-address

Bên trong file cấu hình, bạn tìm đến dòng bind-address. Mặc định, giá trị được thiết lập là 127.0.0.1, có nghĩa là MySQL chỉ chấp nhận kết nối nội bộ. Bạn sửa thành giá trị này thành bind-address = 0.0.0.0 để cho phép MySQL lắng nghe kết nối trên tất cả các giao diện mạng có sẵn trên VPS. Nếu bạn thấy dòng skip-networking, hãy thêm dấu # vào đầu dòng để vô hiệu hóa.

Thay đổi tham số bind-address
Thay đổi tham số bind-address

Sau khi chỉnh sửa, bạn lưu file và thoát. (Với vi, bạn nhấn Esc, gõ :wq rồi Enter. Với nano, bạn nhấn Ctrl + O, Enter, rồi Ctrl + X).

3. Khởi động lại dịch vụ MySQL

Để các thay đổi có hiệu lực, bạn phải khởi động lại dịch vụ MySQL/MariaDB.

Với MySQL (Ubuntu/Debian):

systemctl restart mysql

Với MariaDB (CentOS/AlmaLinux):

systemctl restart mariadb

4. Kiểm tra lại cấu hình

Sau khi khởi động lại, bạn chạy lệnh sau để xác nhận MySQL đã lắng nghe trên port 3306 từ mọi IP:

ss -lntp | grep mysql

Nếu bạn thấy kết quả tương tự như dưới đây, nghĩa là cấu hình đã thành công:

LISTEN 0 80 0.0.0.0:3306 *:*
Kiểm tra lại cấu hình
Kiểm tra lại cấu hình

Bước 3: Cấp quyền truy cập từ xa cho người dùng MySQL

Chỉ thay đổi bind-address là chưa đủ. Bạn cần tạo một người dùng MySQL và cấp quyền cho phép họ kết nối từ một địa chỉ IP bên ngoài.

1. Đăng nhập vào MySQL

mysql -u root -p

Nhập mật khẩu root MySQL của bạn khi hệ thống yêu cầu.

2. Kiểm tra danh sách người dùng hiện có

Bạn chạy lệnh sau để xem các tài khoản và phạm vi truy cập (Host) hiện tại để tránh trùng tên hoặc cấp quyền sai:

SELECT User, Host FROM mysql.user;

Nếu người dùng bạn muốn sử dụng đã tồn tại (ví dụ wordpress, admin, panel) nhưng Host là localhost, bạn chỉ cần cập nhật quyền cho họ. Nếu chưa, hãy tạo người dùng mới.

Kiểm tra danh sách người dùng hiện có
Kiểm tra danh sách người dùng hiện có

3. Tạo người dùng mới (nếu cần)

Bạn sử dụng lệnh sau để tạo một người dùng mới có thể kết nối từ bất kỳ đâu.

CREATE USER 'ten_user'@'%' IDENTIFIED BY 'mat_khau';

Trong đó:

  • Thay ten_usermat_khau bằng thông tin của bạn.
  • '%' cho phép kết nối từ mọi địa chỉ IP. Để tăng bảo mật, bạn nên thay '%' bằng địa chỉ IP tĩnh của bạn (ví dụ: 'ten_user'@'103.200.x.x').

4. Cấp quyền truy cập từ xa

Bạn có thể cấp toàn bộ quyền cho người dùng trên tất cả các cơ sở dữ liệu với lệnh:

GRANT ALL PRIVILEGES ON *.* TO 'ten_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Lệnh FLUSH PRIVILEGES dùng để tải lại bảng phân quyền, đảm bảo các thay đổi được áp dụng ngay lập tức.

Cấp quyền truy cập từ xa
Cấp quyền truy cập từ xa

5. Kiểm tra lại quyền vừa cấp

Để chắc chắn, bạn hãy kiểm tra lại quyền của người dùng:

SHOW GRANTS FOR 'ten_user'@'%';

Bạn sẽ thấy kết quả tương tự như sau, xác nhận quyền đã được cấp thành công:

GRANT ALL PRIVILEGES ON *.* TO 'ten_user'@'%' WITH GRANT OPTION
Kiểm tra lại quyền vừa cấp
Kiểm tra lại quyền vừa cấp

Bước 4: Mở Port 3306 trên Firewall

Nếu VPS của bạn có bật tường lửa, bạn cần mở port mặc định của MySQL (3306) để cho phép các kết nối từ bên ngoài.

Trên UFW (Ubuntu/Debian):

ufw allow 3306/tcp
ufw reload

Trên Firewalld (CentOS/AlmaLinux):

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

Bước 5: Kiểm tra kết nối từ máy tính cá nhân

Bây giờ, mọi thứ đã sẵn sàng. Hãy thử kết nối từ máy tính của bạn hoặc từ server khác.

1. Kết nối bằng dòng lệnh (Terminal/CMD)

mysql -h IP_VPS -u ten_user -p

Nếu bạn có thể đăng nhập thành công, bạn đã cấu hình đúng.

Kết nối bằng dòng lệnh (Terminal/CMD)
Kết nối bằng dòng lệnh (Terminal/CMD)

2. Kết nối bằng phần mềm quản lý (Navicat, DBeaver, HeidiSQL, etc.)

Bạn có thể sử dụng một phần mềm GUI để kiểm tra trực quan hơn. Ví dụ với Navicat, bạn tạo một kết nối mới (New Connection) và điền các thông tin sau:

Thông tinGiá trị mẫu
Connection NameĐặt tên bất kỳ (ví dụ: Remote-MySQL)
HostNhập IP của VPS (ví dụ: 103.200.x.x)
Port3306
Usernameten_user
Passwordmat_khau
Kết nối bằng phần mềm quản l
Kết nối bằng phần mềm quản l

Sau đó bạn nhấn vào nút Test Connection. Nếu nhận được thông báo Connection Successful, xin chúc mừng, bạn đã hoàn tất.

Thông báo Connection Successful
Thông báo Connection Successful

Sau khi kết nối thành công, bạn có thể thấy và mở, xem bảng dữ liệu, hoặc thao tác quản lý database từ xa trực tiếp trong phần mềm.

Quản lý database từ xa
Quản lý database từ xa

Một số lỗi thường gặp và cách khắc phục

  • Lỗi Access denied for user: Vấn đề nằm ở quyền của người dùng. Bạn kiểm tra lại tên người dùng, mật khẩu và IP được phép (Host).
  • Lỗi Can’t connect to MySQL server on 3306: Kết nối bị chặn. Bạn hãy kiểm tra lại cấu hình bind-address hoặc quy tắc firewall trên VPS.
  • Kết nối được nhưng không thấy database: Người dùng chưa được cấp quyền GRANT trên cơ sở dữ liệu đó.

Lưu ý quan trọng về bảo mật

Việc mở MySQL ra internet tiềm ẩn rủi ro bảo mật. Bạn phải luôn tuân thủ các nguyên tắc sau:

  • Hạn chế IP truy cập: Thay vì dùng '%', hãy chỉ định địa chỉ IP tĩnh của bạn.
  • Sử dụng mật khẩu mạnh: Tạo mật khẩu phức tạp, kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt.
  • Không dùng tài khoản root: Tuyệt đối không cấp quyền truy cập từ xa cho tài khoản root của MySQL.
  • Đóng khi không cần: Nếu chỉ cần truy cập tạm thời, bạn hãy xóa quy tắc firewall và thu hồi quyền của người dùng sau khi sử dụng xong.

Qua các bước trên, bạn đã cấu hình thành công để cho phép MySQL lắng nghe kết nối từ xa, cấp quyền cho người dùng cụ thể và mở port 3306 trên tường lửa. Giờ đây, bạn có thể quản lý cơ sở dữ liệu MySQL trên VPS một cách linh hoạt và hiệu quả từ bất kỳ đâu bằng các công cụ yêu thích của mình.

VIETNIX – DỊCH VỤ HOSTING, VPS TỐC ĐỘ CAO, ỔN ĐỊNH, BẢO MẬT

  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
  • Điện thoại: 1800 1093
  • Email liên hệ: sales@vietnix.com.vn
  • Website: https://vietnix.vn/

VIETNIX

Đội ngũ tại Vietnix

Kết nối với mình qua

Vietnix 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, Vietnix đã 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.

Kết nối với mình qua

NHỮNG CÂU HỎI THƯỜNG GẶP VỀ DỊCH VỤ TẠI VIETNIX

Để có thể gửi ticket yêu cầu hỗ trợ đến các phòng ban của Vietnix, trước hết bạn cần đăng nhập vào hệ thống portal tại đường link: https://portal.vietnix.vn/.
Sau đó vào phần Hỗ trợ > Chọn Gửi yêu cầu > Lựa chọn phòng ban mà bạn muốn gửi yêu cầu > Nhập nội dung cần hỗ trợ và nhấn Gửi.

Chúng tôi sẽ tiếp nhận và phản hồi ngay khi nhận được yêu cầu từ Quý Khách Hàng. Bạn có thể xem hướng dẫn chi tiết cách gửi ticket tại đây.
Nếu bạn còn vấn đề gì thắc mắc, hãy liên hệ đến hotline 1800 1093 để được hỗ trợ giải đáp nhanh chóng.

Vietnix có riêng đội ngũ tư vấn và hỗ trợ kỹ thuật chuyên nghiệp giúp khách hàng giải quyết được các vấn đề phát sinh một cách nhanh gọn nhất, không làm ảnh hưởng đến hiệu suất công việc. Đội ngũ nhân viên của chúng tôi với kinh nghiệm và trình độ chuyên môn cao sẵn sàng hỗ trợ khách hàng 24/7, mang đến cho khách hàng trải nghiệm tốt nhất khi sử dụng dịch vụ tại Vietnix.

Đảm bảo an toàn và bảo mật thông tin của Quý khách hàng là nhiệm vụ Vietnix luôn đặt lên hàng đầu. Chúng tôi sẽ không xâm phạm vào thông tin và dữ liệu của khách hàng khi chưa được cho phép. Vietnix cam kết không chia sẻ thông tin khách hàng dưới bất kỳ hình thức nào cho bên thứ ba. Mọi hoạt động sẽ tuân thủ đúng pháp luật, điều khoản hợp đồng và Chính sách bảo mật thông tin của chúng tôi.

Vietnix có hệ thống các kênh liên lạc đa dạng giúp bạn dễ dàng kết nối được với chúng tôi. Bạn có thể liên hệ với Vietnix qua Fanpage Facebook, Livechat, Ticket, Email,… Ngoài ra, trong trường hợp cần hỗ trợ nhanh chóng, bạn có thể gọi đến hotline: 1800 1093 – 07 088 44444 để được giải quyết kịp thời.

Tại Vietnix, chúng tôi hỗ trợ việc hoàn tiền trong vòng 30 ngày kể từ khi dịch vụ của quý khách được kích hoạt trên hệ thống (không tính thời gian dùng thử dịch vụ), ngoại trừ các dịch vụ: Domain, SSL, License.

– Đối với các dịch vụ Hosting, VPS: Hoàn tiền 100% trong vòng 07 ngày kể từ ngày đăng ký dịch vụ. Sau 07 ngày hoàn lại số tiền tương ứng sau khi đã trừ đi số tiền dịch vụ đã được sử dụng theo ngày.

– Đối với các dịch vụ Server, Colocation: hoàn lại số tiền tương ứng sau khi đã trừ đi số tiền dịch vụ đã được sử dụng theo ngày.

Quý khách có thể xem nội dung chi tiết tại Chính sách hoàn tiền của Vietnix.

Xem tất cả câu hỏi