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
/etc/mysql/my.cnf
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
root
đượ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
10.5.1.3
, 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