Hướng dẫn kích hoạt Remote SQL Server Linux theo 2 cách cơ bản!
I. Giới thiệu
Trong bài viết này, tôi sẽ hướng dẫn cách kích hoạt tính năng SQL từ xa trên hệ thống Linux cho một người dùng cụ thể hoặc toàn bộ các cơ sở dữ liệu dưới tài khoản root.
Tại một số hệ thống quản lý như cPanel, chức năng SQL từ xa thường có sẵn và bạn chỉ cần cấu hình để kích hoạt. Tuy nhiên, trên những máy chủ được cài đặt thủ công hoặc thông qua một số script, bạn có thể cần phải thiết lập quyền cho người dùng muốn thực hiện kết nối từ xa. Dưới đây là hướng dẫn chi tiết về việc thực hiện điều này.
II. Các bước thực hiện
Đầu tiên bạn hãy mở file my.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 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 *
, ::
hoặc 0.0.0.0
để cho phép tất cả các kết nối.
vi /etc/my.cnf
Để tiếp tục quy trình, trước hết, bạn cần xác định người dùng cần kích hoạt tính năng từ xa. Để thực hiện điều này, bạn sẽ cần truy cập vào cơ sở dữ liệu với quyền root bằng cách sử dụng lệnh mysql -u root -p
và nhập mật khẩu root của MySQL. Thông tin này thường được cài đặt khi bạn thiết lập MySQL hoặc MariaDB.
1. Kích hoạt Remote một Database bất kỳ
Để kích hoạt Remote SQL cho một user bạn sử dụng lệnh sau để thực hiện.
Bước 1: Truy cập vào cơ sở dữ liệu
Đầu tiên bạn truy cập vào cơ sở dữ liệu với quyền root
. Để kích hoạt remote sql cho user chỉ định.
AZDIGI Tutorialmysql -u root -p
Như ảnh đầu tiên mình có nhiều database và mình sẽ kích hoạt remote cho database có tên là database1
như sau.
Bước 2: Remote SQL
Để kích hoạt cho một database nhất định bạn sử dụng lệnh sau
AZDIGI Tutorialmysql -u root -p GRANT ALL PRIVILEGES ON *.* TO ‘database1’@’%’ IDENTIFIED BY ‘Mat_Khau_User_Database’ WITH GRANT OPTION; FLUSH PRIVILEGES;
Trong đó bạn cần thay đổi như sau
- database1: Thay vào bằng tên database của bạn
- Mat_Khau_User_Database: Nhập vào mật khẩu của Database user
- %: Nếu bạn cho phép tất cả các IP remote vào bạn để dấu
%
. Nếu bạn chỉ cho phép 1 IP bạn hãy thay bằng IP của bạn
Sau khi hoàn tất bạn thoát ra và khởi động lại dịch vụ mysql/mariadb. Ở đây mình sử dụng MariaDB nên sẽ khởi động lại bằng lệnh systemctl restart mariadb
Ảnh thực tế thực hiện
Kiểm tra kết nối SQL.
Ở đây mình sử dụng phần mêm Navicat để kết nối, ngoài ra bạn có thể sử dụng phần mêm khác như workbench hoặc hàm php.
Bên dưới là ảnh thực tế kết nối và các thông tin bao gồm
- Connection Name: Đặt tên bất kỳ
- Host: Nhập vào IP máy chủ
- Port: 3306 (Mặc định)
- User Name: Nhập vào user Database
- Edit Password: Nhập vào Mật khẩu User Database
Sau khi nhập hoàn tất bạn click Test Connection để kiểm tra. Nếu hiện thông báo Connection Successful
như ảnh là đã thành công
Và đây là ảnh thông báo kết nối thành công khi kích hoạt remote sql.
2. Kích hoạt cho toàn bộ Database
Nếu như máy chủ bạn có nhiều tài khoản database và bạn muốn kích hoạt cho toàn bộ, chỉ sử dụng user root
để remote và có thể thực thi tất cả các database bạn thực hiện như sau.
Bước 1: Truy cập vào cơ sở dữ liệu
Bạn sử dụng lệnh mysql -u root -p
sau đó nhập mật khẩu root của mysql để vào.
AZDIGI Tutorialmysql -u root -p
Bước 2: Kích hoạt remote sql
Bạn sử dụng lệnh sau để kích hoạt cho user root.
AZDIGI TutorialGRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘mat_khau_root_mysql’ WITH GRANT OPTION; FLUSH PRIVILEGES;
Tróng đó:
- root: là user root dùng để remote
- %: Nếu bạn cho phép tất cả các IP remote vào bạn để dấu
%
. Nếu bạn chỉ cho phép 1 IP bạn hãy thay bằng IP của bạn - mat_khau_root_mysql: Bạn nhập vào mật khẩu root mysql
Khởi động lại dịch vụ MySQL/MariaDB
Sau khi hoàn tất bạn thoát ra và khởi động lại dịch vụ mysql/mariadb. Ở đây mình sử dụng MariaDB nên sẽ khởi động lại bằng lệnh systemctl restart mariadb
AZDIGI Tutorialsystemctl restart mariadb
Kiểm tra kết nối SQL.
Ở đây mình sử dụng phần mêm Navicat để kết nối, ngoài ra bạn có thể sử dụng phần mêm khác như workbench hoặc hàm php.
Bên dưới là ảnh thực tế kết nối và các thông tin bao gồm
- Connection Name: Đặt tên bất kỳ
- Host: Nhập vào IP máy chủ
- Port: 3306 (Mặc định)
- User Name: Nhập vào
root
- Edit Password: Nhập vào Mật khẩu
root
mysql
Ảnh GIF thực hiện demo
Lưu ý: Nếu bạn không truy cập được đến PORT 3306. Bạn cần mở IN/OUT Port 3306 trên firewall để hoạt động.
III. Tổng kết
Như vậy mình vừa hướng dẫn bạn kích hoạt Remote SQL Server Linux. Chúc các bạn có thể thực hiện thành công.