Bài viết này hướng dẫn các bạn cách khởi tạo user để có thể remote vào database trên server.
Các bạn lưu ý: Việc mở kết nối database từ xa qua Internet có nguy cơ bị hacker tấn công và dò mật khẩu trên port 3306, vì vậy hãy cân nhắc trước khi thực hiện mở port!
BƯỚC 1: Mở port 3306 trên tường lửa.
Trong khi SSH vào VPS các bạn chạy lệnh sau để mở port 3306:
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
Các bạn có thể check xem port đã mở hay chưa bằng cách truy cập vào trang ping.eu -> port check -> Nhập IP của VPS, nhập port 3306, nhập captcha và check, nếu hiện ra port open thì là port đã được mở.
Hoặc bạn có thể dùng lệnh telnet để check port.
BƯỚC 2: Gán IP cho mysql
Sau đó các bạn sửa file /etc/my.cnf.d/server.cnf bằng lệnh nano /etc/my.cnf.d/server.cnf
Các bạn thêm dòng bind-address=0.0.0.0, nếu đã có rồi thì bạn sửa lại ip thành 0.0.0.0.
Sau đó các bạn restart lại mysql bằng lệnh service mysqld restart
BƯỚC 3: Tạo user remote database 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: <ip của bạn>/phpmyadmin
Sau đó bạn chọn DB bạn muốn remote -> chọn Privileges -> Add user account
Sau đó các bạn điền thông tin user mới và cấp quyền cho user đó trên database, sau đó bấm Go để tiếp tục.
Chỉnh sửa lại các đặc quyền của user cho database, sau đó bấm Go.
Lưu ý Với các quyền DELETE và DROP sẽ cấp cho user có quyền xóa dữ liệu database, bạn cân nhắc khi cấp cho user quyền này.
Vậy là user đã tạo thành công, các bạn có thể kiểm tra user đã được tạo chưa bằng cách click lại vào DB -> Privileges.
Các bạn có thể kiểm tra kết nối bằng các phần mềm ví dụ như Navicat, HeidiSQL,..
Chúc các bạn thành công!