MySQL Workbench là một công cụ giúp ta thao tác dễ dàng, trực quan hơn với database. Thay vì phải làm việc với database qua giao diện dòng lệnh nhàm chán như trước, giờ đây bạn có thể nhìn database một cách trực quan hơn qua giao diện khá bắt mắt của MySQL Workbench.
Mục lục
1. Mô hình
2. Kết nối vào database trên MySQL Workbench
3. Quản lý cơ sở dữ liệu
4. Quản lý table trong database
5. Truy vấn dữ liệu và Views
6. Sao lưu dữ liệu ( Export )
7. Phục hồi dữ liệu ( Import )
8. Tạo tài khoản ( user )
9. Phân quyền cho user
10. Xóa database
1. Mô hình
Sử dụng 1 server cho mô hình và 1 máy đã cài đặt phần mềm MySQL Workbench(download tại đây):
– MariaDB Server sử dụng CentOS 7 OS
– Có kết nối Internet
– User database SSH vào MariaDB Server(bài viết này mình sử dụng user thường được cấp quyền)
2. Tạo connection
- SSH vào MariaDB Server, tạo 1 user và cấp quyền cho user đó
create user 'demo'@'%' identified by 'secret'; --> tạo user demo
grant all on *.* to 'demo'@'%'; --> cấp quyền cho user demo trên tất cả database
- Chỉnh sửa bind-address trong file /etc/my.cnf.d/server.cnf cho phép người dùng trên MySQL Workbench kết nối vào Database trên tất cả các cổng
[mariadb]
bind-address=0.0.0.0
- Dùng MySQL Workbench kết nối vào Database
Click vào biểu tượng dấu + như hình
Nhập vào các thông số của bạn
Kiểm tra kết nối và hoàn thành kết nối
Kết nối thành công, 1 kết nối nhanh được tạo trên giao diện home của MySQL Workbench
Đây là giao diện sau khi bạn click vào kết nối ở home và cũng là nơi chúng ta trực tiếp sử dụng để quản trị database
3. Quản lý cơ sở dữ liệu
- Tạo Database(New Schema)
Database mới tạo xuất hiện ở tab bên trái màn hình. Mặc định trong mỗi database sẽ có 4 objects: Tables(Bảng)
, Views
, Stored Procedures(Thủ tục)
và Functions(Hàm)
. Click trực tiếp vào từng object để sử dụng.
4. Quản lý table trong database
- Tạo Table
Chuột phải vào Tables –> Create table
Kết quả màn hình sẽ xuất hiện như hình dưới. Điền thông tin về table:
Name
– tên databaseDefault Collation
– kiểu chữ hiển thị (nên đặt là utf8 – utf8_general_ci hoặc utf8 – utf8_unicode_ci để có thể hiển thị được Tiếng Việt)
Ấn vào 2 dấu mũi tên lên trên bên phải để tạo các cột và tùy chọn các Constraints(ràng buộc), sau đó apply để hoàn tất tạo bảng
Các Constraints trên MySQL Workbench
PK
: Primarey Key – khóa chính xác định duy nhất mỗi hàng/bản ghi trong bảng cơ sở dữ liệu
NN: Not Null – Đảm bảo rằng một cột không thể có giá trị NULL UQ
: Unique – Đảm bảo tất cả các giá trị trong một cột là khác nhau BIN
: BinaryUN
: UnsignedZF
: Zero-FilledAI
: Auto Increment – tăng tự động, chỉ thiết lập được cho kiểu INT
Qúa trình thực thi thành công, chúng ta đã có 1 table mới trong mục Tables:
- Để chỉnh sửa lại thông tin hay thêm biến … chúng ta chuột phải vào table cần chỉnh sửa chọn ” Alter Table ” thì toàn bộ thông tin của table sẽ hiển thị ra giống như lúc khởi tạo 1 table mới.
5. Truy vấn dữ liệu và Views
- Truy vấn dữ liệu
Để tạo ra câu truy vấn mới chúng ta click vào icon như trong ảnh dưới đây:
Sau khi file SQL xuất hiện bắt đầu viết các câu SQL vào đây và execute lệnh bằng 1 trong 2 biểu tượng tia sét:
– Biểu tượng tia sét 1 ( Excute the selected portion of the script or everything, if there is no selection ) : biểu tượng này sẽ thực thi các câu lệnh nếu chúng ta bôi đen nó hoặc nó nếu có 1 câu trong file thì không cần bôi đen giống với ví dụ ở trên mình làm
– Biểu tượng tia sét 2 ( Excute the statement under the keyboard cursor ) : sẽ thực thi tất cả các câu lệnh nằm sau dấu keyboard cusor
- Views
View là gì?
View là các truy vấn SELECT được lưu lại như là một table và sau đó ta có thể truy vấn dữ liệu từ view như thực hiện với table.
Ưu nhược điểm
- Ưu điểm
- Bảo mật – Cho phép người quản trị CSDL (DBA) cung cấp cho người sử dụng chỉ những dữ liệu cần thiết
- Đơn giản hóa – Các view cũng có thể sử dụng để ẩn và sử dụng lại các truy vấn phức tạp => rất tiện với những câu truy vấn còng kềnh dài hàng trang A4
- Nhược điểm:
- Tốn thêm tài nguyên trên Server (memory, process)
Tạo views
Giả sử ta có 2 bảng:
Tạo view cho câu SQL: kết hợp 2 bảng SVTT
và Mentor
dùng INNER JOIN
để lấy thông tin về: họ tên mentor, MSSV SVTT, Giới tính SVTT
CREATE
VIEW
demodb.testview
AS
select Mentor.Hoten, SVTT.MSSV, SVTT.Gioitinh from Mentor inner join SVTT on Mentor.MentorID = SVTT.MentorID;
Trong đótestview
là tên của view demodb
là tên của database(schema)
Truy vấn dữ liệu từ view
Câu lệnh:
select * from view_name;
Ví dụ: Truy vấn thông tin về họ tên mentor, MSSV SVTT, Giới tính SVTT trong view demodb.testview
select * from demodb.testview;
Kết quả:
6. Sao lưu dữ liệu ( Export )
Để có thể sao lưu dữ liệu ( export) chúng ta click vào Data Export ở Management:
Lựa chọn data mà bạn muốn exporrt
Export to Dump Project Folder:
kiểu này sẽ export từng table thành từng file khác nhau trong 1 folder.Export to Self-Contained File:
kiểu này sẽ export tất cả thành 1 file SQL.
Tùy chọn nâng cao
Nhấn Start Export để bắt đầu quá trình export
Sau khi quá trình export hoàn tất
7. Phục hồi dữ liệu ( Import )
Click vào Data Import/Restore:
Chọn file dữ liệu bạn muốn import sau đó chọn Start Import để tiến hành import dữ liệu
Import from Dump Project Folder:
đây là kiểu import từ 1 folder giống như option export.Import from Self-Contained File:
kiểu import từ 1 file.
9. Tạo tài khoản ( user )
Thực hiện lần lượt theo các bước phía dưới
Trong đó:Login Name:
tên userAuthentication Type:
kiểu xác thực ( Standard hoặc Standard Old )Limit Connectivity to Hosts Matching:
điền vào localhost ( 127.0.0.1 ) hoặc ip của host hoặc % ( tất cả các host )Password:
mật khẩu cho userConfirm Password:
nhập lại mật khẩu của user
Các tab còn lại:Account Limits:
tab này sẽ giới hạn số lượng queries hay connection … của userAdministrative Roles:
set các roles cho user trong hệ thống
Schema Privileges:
Phân quyền cho User
8. Phân quyền cho user
Any Schema ( % ) :
User sẽ có quyền với tất cả các databaseSchemas matching pattern or name:
match với các tên của database khi tạo. Ví dụ db1_bill, db1_userSelected schema:
cho chọn database có trong hệ thống để cấp quyền
Sau khi ấn OK, bảng phân quyền cho user với database sẽ hiện ra. Bạn tùy chọn các quyền rồi nhấn Apply
10. Xóa database
Chọn database cần xóa trong phần Schemas –> chuột phải chọn Drop Database. Hệ thống sẽ cho chúng ta lựa chọn review SQL hoặc click vào Drop Now để xóa luôn: