Page tree

VNG Cloud Help Center

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Để kết nối với DB Instance có Database EngineMySQL hay Mariadb, bạn có thể sử dụng bất kì công cụ MySQL Client nào như mysqlclient, MySQL Workbench, Heidi,… cho các tác vụ OLTP.

Với các hành động như thêm/xóa/thay đổi password cho user, tạo mới/gán quyền trên database cho user,… bạn phải sử dụng các stored procedure đã định nghĩa sẵn của Vinadata. Tham khảo danh sách các stored procedure này tại link sau.

Ở lần kết nối đầu tiên, Vinadata khuyến nghị bạn dùng mysqlclient & master user đã tạo.

Bước 1. Xác định thông tin Endpoint & Port để truy cập:

Tại giao diện quản lý Database, bạn chọn vào DB Instance vừa tạo, chọn đến tab Connectivity & Security, xem tại mục Endpoint & Port.

VD: như hình duới, DB Instance này có 2 endpoint: private (trong nội bộ VPC) & public (có thể kết nối tới thông qua Internet). Tùy vào usecase, bạn lựa chọn endpoint thích hợp.


Lưu ý: Để phân biệt Public Endpoint & Private Endpoint, bạn xem mục Networking để xác định Private Network Subnet của DB Instance này.

VD: DB Instance trên có Private Network Subnet là 10.0.116.0/24 nên 10.0.116.3 sẽ là Private Endpoint.


Bước 2: Tùy chỉnh Security Group Rules để bảo vệ DB Instance (tùy chọn)

Mục Security Group Rules cho phép bạn giới hạn những Remote IP nào được phép truy cập vào DB Instance của bạn. Để tiện lợi cho việc sử dụng, khi vừa khởi tạo, Vinadata cho phép bạn truy cập không hạn chế từ mọi nơi (0.0.0.0/0) vào DB Instance. Tuy nhiên, Vinadata khuyến nghị bạn tùy chỉnh lại mục này sao cho chỉ những Remote IP tin cậy được truy cập vào.

Để thay đổi, bạn chọn vào EDIT và điền IP (theo chuẩn CIDR) thích hợp.

Sau khi hiệu chỉnh, nhấn Save và chờ một lát để thay đổi được lưu lại.

Để chắc chắn kết nối được thông suốt, bạn có thể dùng các công cụ kiểm tra như telnet.

Khi kết nối đã thông, bạn có thể tiến hành kết nối tới DB Instance.

Bước 3. Kết nối bằng mysqlclient

Sau khi có thông tin endpoint, bạn sử dụng Master User vừa tạo để kết nối.

Lưu ý: Master user chỉ được tạo một lần duy nhất, nếu quên password, bạn có thể chọn Action > Edit Database để tự thay đổi password. Nếu quên thông tin Master User, bạn có thể liên hệ Vinadata Support để được hỗ trợ.

VD: DB Instance vừa tạo có master user là: dba, endpoint truy cập là public endpoint: 61.28.224.201, port: 3306, bạn kết nối bằng mysqlclient như sau:

$ mysql -u 61.28.224.201 -P 3306 -u dba –p

Password

mysql>

Bước 4: Gán quyền quản  trên các Database cho Master User 

Master User chỉ có một số Global Privileges nhất định trên DB Instance.

Tuy nhiên thông qua quyền Excute, Master User có thể call các stored procedures của Vinadata để thực hiện các thao tác như thêm, xóa, gán quyền, gỡ quyền cho user khác, khởi tạo hoặc xóa database, … (Link danh sách các vDBaaS Stored Procedures).

Sau khi tạo các database, bạn có thể gán All Privileges cho Master User trên các database này và sử dụng các command của MySQL để tương tác với các database này như bình thường.

Ngoài ra, bạn hoàn toàn có thể tạo master user thứ hai có quyền tương tự như master user đầu tiên. Tuy nhiên, bạn cần cân nhắc kĩ (đặc biệt là khi gán quyền Excute) để tránh các user khác có thể call trái phép các stored procedure dẫn đến mất an toàn thông tin.

Để cho phép Master User dba, có toàn quyền trên Database sbtest đã tạo, bạn call stored procedure mysql.vdbaas_grantPrivileges với cú pháp như sau:

mysql> call mysql.vdbaas_grantPrivileges(“<Privileges List>”,”<Database Name>”,”<Username>”,”<Host>”);



Kiểm tra lại bằng lệnh show grants;


Để apply sự thay đổi, bạn call procedure mysql.vdbaas_flushPrivileges();

Vậy là bạn đã gán thành công quyền cho user dba trên database sbtest. Từ đây, bạn có thể dùng user dba để thêm, xóa, sửa các tables, gán quyền sử dụng cho các user khác trên database này,… thông qua các command mặc định của MySQL cũng như sử dụng các công cụ quản trị database khác như MySQL Workbench, Heidi,...




  • No labels