MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN 2 DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮC 5 DANH MỤC CÁC BẢNG 5 DANH MỤC CÁC HÌNH ẢNH 6 MỞ ĐẦU 7 CHƯƠNG I: TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1 1. Một số khái niệm cơ bản 1 1.1. Hệ cơ sở dữ liệu 1 1.2. Góc nhìn dữ liệu 1 1.3. Mô hình dữ liệu 1 1.4. Ngôn ngữ dữ liệu 2 2. Giới thiệu về MySQL 2 2.1. Khái niệm 2 2.2. Lịch sử phát triển 3 2.3. Một số tính năng 3 3. Lựa chọn phiên cài đặt 4 4. Cài đặt và cấu hình 4 5. Các thành phần cơ bản 9 6. Kiến trúc của MySQL 9 CHƯƠNG II: QUẢN TRỊ VẬN HÀNH VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 10 1. Tạo và cấu hình cơ sở dữ liệu 10 1.1. Tạo cơ sở dữ liệu (new schema) 10 1.2. Cấu hình cơ sở dữ liệu 12 2. Sao lưu dữ liệu 13 3. Phục hồi dữ liệu 15 CHƯƠNG III: QUẢN TRỊ THÀNH PHẦN VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 17 1. Bảng (Table) 17 1.1. Kiểu dữ liệu 17 1.2. Thao tác trên bảng 19 2. Khung nhìn (View) 21 2.1. Tổng quan 21 2.2. Tạo và thao tác với khung nhìn 21 3. Chỉ mục (Index) 23 3.1. Chỉ mục là gì 23 3.2. Sử dụng chỉ mục 24 4. Thủ tục và hàm 25 4.1. Thủ tục (Procedure) 25 4.2. Hàm (Function) 27 5. Ràng buộc 29 6. Bẫy lỗi 30 6.1. Tổng quan 30 6.2. Sử dụng bẫy lỗi 30 CHƯƠNG IV: QUẢN TRỊ NGƯỜI DÙNG VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 31 1. Quyền đăng nhập hệ thống 31 2. Quyền truy xuất dữ liệu 32 3. Quyền và vai trò 35 3.1. Tổng quan 35 3.2. Gán quyền và vai trò cho user 37 KẾT LUẬN 40 TÀI LIỆU THAM KHẢO 41 DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮC Ký hiệu Tên tiếng anh Tên tiếng việt SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc CSDL Database Cơ sở dữ liệu RDBMS Relational Database Management Hệ quản trị cơ sở dữ liệu quan hệ API Application Programming Interface Giao diện lập trình ứng dụng DANH MỤC CÁC BẢNG Bảng 1. Các mức thể hiện dữ liệu 1 Bảng 2. Các phiên bản nổi bật của MySQL 4 Bảng 3. Các kiểu dữ liệu số 18 Bảng 4. Các kiểu dữ liệu chuỗi 18 Bảng 5. Các kiểu dữ liệu thời gian 18 Bảng 6. Các lệnh định nghĩa dữ liệu 19 Bảng 7. Các lệnh thao tác dữ liệu 20 Bảng 8. Một số loại hàm có sẵn trong MySQL 27 Bảng 9. Các loại ràng buộc trong MySQL 29 Bảng 10. Các vai trò trong MySQL 33 Bảng 11. Các quyền có sẵn trong MySQL 35 DANH MỤC CÁC HÌNH ẢNH Hình 1. Tải file cài đặt MySQL 5 Hình 2. Chọn các gói cài đặt 5 Hình 3. Thông báo trạng thái các gói cài đặt 6 Hình 4. Type and Networking 6 Hình 5. Nhập mật khẩu và thêm người dùng 7 Hình 6. Apply Configuration 7 Hình 7. Product Configuration 8 Hình 8. Hoàn tất quá trình cài đặt 8 Hình 9. Giao diện MySQL Workbench 9 Hình 10. Kiến trúc logic của MySQL 10 Hình 11. Tạo cơ sở dữ liệu 11 Hình 12. Cấu hình cho cơ sở dữ liệu 11 Hình 13. Hoàn tất tạo CSDL 11 Hình 14. Cấu hình CSDL trên MySQL Workbench 12 Hình 15. Backup dữ liệu 13 Hình 16. Lựa chọn đối tượng để backup 14 Hình 17. Lựa chọn kiểu và vị trí backup 14 Hình 18. Lựa chọn mở rộng backup 14 Hình 19. Hoàn tất backup dữ liệu 15 Hình 20. Khôi phục dữ liệu 15 Hình 21. Các lựa chọn khôi phục 16 Hình 22. Hoàn tất khôi phục dữ liệu 16 Hình 23. View sau khi tạo 22 Hình 24. Thay đổi khung nhìn 23 Hình 25. Hiểu thị chỉ mục 24 Hình 26. Gọi thủ tục 27 Hình 27. Sử dụng trigger 31 Hình 28. Giao diện cài đặt kết nối 32 Hình 29. Tạo tài khoản người dùng 36 Hình 30. Gán vai trò người dùng 37 Hình 31. Gán quyền người dùng 38 Hình 32. Kiểm tra cấu hình kết nối MySQL 38 Hình 33. Nhập mật khẩu user 39 Hình 34. Kiểm tra kết nối 39 Hình 35. Kết nối mới được tạo thành công 39 MỞ ĐẦU Theo thời gian, việc lưu trữ thông tin đang trở nên ngày một phát triển. Sự xuất hiện của những hệ thống, phần mềm hiện đại đang dần thay đổi quan niệm về cách mà con người quản lý thông tin. Và bài toán làm thế nào để lưu trữ thông tin an toàn, chắc chắn đồng thời lại có thể truy cập dễ dàng và chính xác nhất trong bối cảnh lượng thông tin lưu trữ, xử lý ngày càng nhiều và đa dạng đang được nhiều doanh nghiệp, tổ chức quan tâm. Chúng ta đều biết với sự lên ngôi của công nghệ số, hầu hết các quy trình, hệ thống quản trị,… đều được mã hóa và vận hành bởi các phần mềm, thiết bị. Điều này nhằm hỗ trợ các đối tượng sử dụng có thể đạt được hiệu suất làm việc tốt nhất. Dựa trên cơ sở đó, sự ra đời của các cơ sở quản trị dữ liệu đóng vai trò rất quan trọng để có thể quản lý lẫn xử lý các nguồn dữ liệu, thông tin đơn lẻ. Theo một số thống kê cho thấy hiện nay, mặc dù có đến hơn 300 hệ quản trị CSDL khác nhau, tuy nhiên, chỉ có khoản hơn 10 hệ quản trị cơ sở dữ liệu được sử dụng phổ biến trên thế giới để cải thiện khả năng lý dữ liệu cho các ứng dụng công nghệ thông tin, các phần mềm máy tính hay website. Hiện nay, các hệ quản trị cơ sở dữ liệu được sử dụng phổ biến trên thế giới và tại Việt Nam như: Oracle, MySQL, SQL Server, IBM – DB2,… Trong đó hệ quản trị cơ sở dữ liệu MySQL là một cái tên đầy ấn tượng với nhiều tính năng nổi bật, vượt qua SQL Server của Microsoft, đứng thứ hai trên bảng xếp hạng các hệ quản trị CSDL hiện nay. Và để hiểu rõ hơn về hệ quản trị này, bài tiểu luận này sẽ trình bày một cách cụ thể hơn về MySQL. CHƯƠNG I: TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1. Một số khái niệm cơ bản 1.1. Hệ cơ sở dữ liệu Dữ liệu là những sự kiện, hiện tượng được ghi lại và thường không có nghĩa. Chẳng hạn các chuỗi ký tự, số, giá trị ngẫu nhiên hoặc tập hợp các dữ kiện được ghi lại do quan sát hay nghiên cứu. Và khi dữ liệu được thông qua xử lý và có ý nghĩa thì chúng trở thành thông tin. Cơ sở dữ liệu là hệ thống các dữ liệu có liên quan với nhau được lưu trữ trên các thiết bị lưu trữ để đáp ứng nhu cầu khai thác thông. Trong khi đó, phần mềm hỗ trợ người dùng quản trị cơ sở dữ liệu của mình được gọi là phần mềm quản trị cơ sở dữ liệu. Hệ cơ sở dữ liệu là hệ bao gồm phần mềm quản trị cơ sở dữ liệu và cơ sở dữ liệu. 1.2. Góc nhìn dữ liệu Góc nhìn cơ sở dữ liệu được thể hiện qua các mức: Mức Mô tả Mức vật lý (physical level) Đây là mức thấp nhất của sự trừu tượng hóa dữ liệu, thể hiện cách lưu trữ và truy cập dữ liệu. Mức luận lý (logical level Mức tiếp theo của trừu tượng hóa dữ liệu, mô tả dữ liệu gì được lưu trữ trong cơ sở dữ liệu và các mối quan hệ giữa chúng. Mức khung nhìn (view level) Mức cao nhất của trừu tượng hóa dữ liệu, mô tả chỉ một phần của cơ sở dữ liệu ứng với từng người sử dụng. Bảng 1. Các mức thể hiện dữ liệu 1.3. Mô hình dữ liệu Mô hình dữ liệu là một hệ thống các khái niệm dùng để mô tả cấu trúc, tính chất hay ràng buộc trên dữ liệu. Có thể xem xét mô hình dữ liệu qua các mức: Mô hình khái niệm: Cung cấp những khái niệm đơn giản, dễ hiểu với đa số người dùng, mô hình này chỉ ra cái gì được đưa vào để quản lý. Đây là phương tiện để những người phân tích thiết kế giao tiếp với người sử dụng, nhằm thu thập thông tin, xác định đúng đắn và đầy đủ yêu cầu của hệ thống. Mô hình dữ liệu vật lý: Cung cấp những khái niệm để mô tả chi tiết cách thức dữ liệu được lưu trữ như thế nào. Mô hình này chỉ ra định dạng bản ghi (record formats), thứ tự sắp xếp các bản ghi (record ordering) và đường dẫn để truy cập dữ liệu (access paths). Mô hình dữ liệu thể hiện: Mô tả các dữ liệu bằng cách sử dụng những ký pháp tương ứng với mô hình dữ liệu mà một hệ quản trị cơ sở dữ liệu sử dụng. 1.4. Ngôn ngữ dữ liệu Ngôn ngữ dữ liệu được chia làm 3 loại chính bao gồm ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu và ngôn ngữ điều khiển dữ liệu. Trong đó: Ngôn ngữ định nghĩa dữ liệu: Là loại ngôn ngữ được sử dụng để định nghĩa cấu trúc của các thành phần trong cơ sở dữ liệu. Khi đó hệ quản trị cơ sở dữ liệu đóng vai trò là một trình biên dịch chuyên xử lý các câu lệnh định nghĩa dữ liệu nhằm xác định đặc tả cấu trúc các lược đồ và lưu trữ các đặc tả này trong danh mục của cơ sở dữ liệu. Thông qua ngôn ngữ định nghĩa dữ liệu, chúng ta có thể tạo mới, chỉnh sửa, và xóa các lược đồ trong cơ sở dữ liệu. Ngôn ngữ thao tác dữ liệu: Là loại ngôn ngữ được sử dụng để người dùng tương tác với cơ sở dữ liệu, các thao tác có thể thực hiện như truy vấn, chèn, sửa, và xóa dữ liệu. Ngôn ngữ điều khiển dữ liệu: Là loại ngôn ngữ nhằm hỗ trợ người dùng thực hiện các khai báo bảo mật thông tin và cấp quyền hạn khai thác cơ sở dữ liệu cho những người sử dụng khác trong hệ thống. 2. Giới thiệu về MySQL 2.1. Khái niệm MySQL là một phần mềm RDBMS mã nguồn mở phổ biến nhất thế giới, được phát triển, phân phối và hỗ trợ bởi Oracle Corporation. MySQL là một hệ quản trị cơ sở dữ liệu đáp ứng việc thêm, truy cập và xử lý dữ liệu được lưu trữ trong cơ sở dữ liệu máy tính và nó đóng vai trò là trung tâm trong tính toán, như các tiện ích độc lập hoặc một phần của các ứng dụng khác. Hệ quản trị cơ sở dữ liệu MySQL là một hệ thống theo mô hình client – server bao gồm một máy chủ đa luồng hỗ trợ các đầu cuối khác nhau, một số chương trình, thư viện, máy khách khác nhau, các công cụ quản trị và một loạt các giao diện lập trình ứng dụng (API). Đây là phần mềm mã nguồn mở mà bất kỳ ai cũng có thể sử dụng và cấu trúc lại phần mềm bằng cách tải trực tiếp từ Internet mà không phải trả bất cứ khoản phí nào. Nếu muốn, bạn có thể nghiên cứu mã nguồn và thay đổi nó cho phù hợp với nhu cầu của bản thân. Bên cạnh MySQL còn có phiên bản thương mại là MySQL Enterprise Edition với nhiều tính năng và hỗ trợ tốt hơn cho đối tượng là cá nhân và doanh nghiệp. Nhiều doanh nghiệp nổi bật hiện đang sử dụng hệ quản trị cơ sở dữ liệu này như Uber, Airbnb, Netflix, Pinterest, Shopify, Amazon, Twitter, Udemy. 2.2. Lịch sử phát triển MySQL là sự kết hợp giữa “My” tên con gái của nhà đồng sáng lập Monty Widenius và “SQL” viết tắt của ngôn ngữ truy vấn có cấu trúc Structured Query Language. Được lên ý tưởng từ những năm 1979 cho mục đích cá nhân và cho đến tháng 5 năm 1995, phiên bản phát hành nội bộ đầu tiên của MySQL mới được ra mắt bởi MySQL AB một công ty công nghệ Thụy Điển. Đến năm 2003 đã có hơn 4 triệu lượt cài đặt cùng với đó là hơn 30.000 lượt tải mỗi ngày, mức doanh thu của MySQL đạt 12 triệu USD. Năm 2008, Sun microsystems đã thực hiện thương vụ mua lại MySQL AB với giá xấp xỉ 1 tỷ USD. Tuy nhiên, Sun cũng nhanh chóng bị Oracle thâu tóm vào năm 2010 và như vậy MySQL thuộc quyền sở hữu và phát triển bởi Oracle. 2.3. Một số tính năng MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ với những tính năng nổi bật như: Có thể thao tác dễ dàng với các câu lệnh SQL đơn giản. Hệ thống bảo mật dữ liệu vững chắc để bảo vệ dữ liệu được an toàn. Mật khẩu được mã hóa trong MySQL. Đồng thời cho phép các giao dịch được khôi phục, cam kết và phục hồi sự cố. MySQL tuân theo kiến trúc khách chủ bao gồm một máy chủ cơ sở dữ liệu (MySQL) và nhiều máy khách (chương trình ứng dụng) tương thích để chạy trên nhiều hệ điều hành như Novell NetWare, Windows, Linux. MySQL có thể xử lý hầu hết mọi lượng dữ liệu, lên tới 50 triệu bản ghi trở lên. Giới hạn kích thước tệp mặc định là khoảng 4 GB. Tuy nhiên, bạn có thể tăng con số này lên giới hạn lý thuyết là 8 TB dữ liệu. Hiệu suất cao, tốc độ thực hiện nhanh chóng, đáng tin cậy và rẻ hơn vì kiến trúc công cụ lưu trữ độc đáo. MySQL hỗ trợ một số lượng lớn các ứng dụng nhúng giúp MySQL hoạt động một cách linh hoạt. 3. Lựa chọn phiên cài đặt Một số phiên bản nổi bật của MySQL như: Phiên bản Ngày phát hành Mô tả MySQL 5.1 14112008 Phiên bản này chứa các phiên bản MySQL 5.0 đến MySQL 5.1.73. MySQL 5.5 03122010 Phiên bản này chứa các phiên bản MySQL 5.5 đến MySQL 5.5.62. MySQL 5.6 05022013 Phiên bản này chứa các phiên bản MySQL 5.6 đến MySQL 5.5.45. MySQL 5,7 21102015 Phiên bản này chứa các phiên bản MySQL 5.7 đến MySQL 5.6.27. MySQL 8.0 19042018 Phiên bản này chứa các phiên bản MySQL 8.0 đến MySQL 8.0.25. Bảng 2. Các phiên bản nổi bật của MySQL Trong bài báo cáo này chúng ta sẽ chọn MySQL phiên bản 8.0.25 để thực hiện. 4. Cài đặt và cấu hình Để tiến hành cài đặt và cấu hình cho MySQL cần thực hiện các quy trình sau đây: Bước 1: Tiến hành tải file cài đặt bằng cách truy cập vào địa chỉ website của MySQL: https:dev.mysql.comdownloadsmysql và chọn hệ điều hành Microsoft Windows → Go to Download Page → Chọn Download file ‘mysql8.0.25winx64debugtest.zip’. Hình 1. Tải file cài đặt MySQL Bước 2: Mở file cài đặt, chọn kiểu thiết lập Custom để cài đặt theo tùy chọn. Ở đây chúng ta sẽ cài đặt MySQL Server và MySQL Workbench và chọn Next. Hình 2. Chọn các gói cài đặt Bước 3: Tại bước Installation, chúng ta sẽ thấy các gói đã được chọn tại bước 2. Sau đó chọn Execute và đợi hoàn tất gói cài đặt, chọn Next. Hình 3. Thông báo trạng thái các gói cài đặt Bước 4: Tiếp theo đến bước cài đặt cấu hình cho MySQL. Chọn Next để đến bước tiếp theo. Tại bước Type and Networking, phần mềm đã tự động chọn chuẩn là TCPIP và cổng mặc định là 3306. Tiếp tục chọn Next. Hình 4. Type and Networking Bước 5: Tại bước Authentication Method, chọn Use Strong Password Encryption for Authentication → Next. Tại Accounts and Roles điền mật khẩu của mình vào, sau đó chọn Next. Hình 5. Nhập mật khẩu và thêm người dùng Bước 6: Tại giao diện Windows Service, chọn thiết lập như mặc định → Next. Đến Apply Configuration chọn Execute → Finish. Hình 6. Apply Configuration Bước 7: Tại cửa sổ Product Configuration chọn Next. Hình 7. Product Configuration Bước 8: Chọn Finish để kết thúc cài đặt. Hình 8. Hoàn tất quá trình cài đặt Bước 9: Sử dụng mật khẩu đã thiết lập từ trước, tiến hành truy cập vào MySQL Workbench, nếu đăng nhập thành công thì việc cài đặt và cấu hình cho MySQL cũng thành công. Hình 9. Giao diện MySQL Workbench 5. Các thành phần cơ bản Các thành phần cơ bản của MySQL có thể kể đến như: MySQL Server: Đây là máy chủ cơ sở dữ liệu. Nó xử lý tất cả các truy vấn và thao tác với cơ sở dữ liệu và bảng. Nó cũng thực hiện chấp nhận các kết nối từ các máy khách và quản lý quyền truy cập vào cơ sở dữ liệu. MySQL Clients: Đây là những chương trình giao tiếp với máy chủ MySQL Server để truy cập cơ sở dữ liệu và bảng. Một số ứng dụng khách quan trọng như: mysql, mysqladmin, mysqldump, mysqlcheck và myisamchk. Thư mục dữ liệu: Đây là nơi MySQL lưu trữ cơ sở dữ liệu bao gồm cơ sở dữ liệu, bảng, trình kích hoạt, thủ tục lưu trữ, tệp trạng thái và tệp nhật ký. Công cụ lưu trữ: Quản lý cách thông tin được tổ chức, lưu trữ và truy cập. MySQL sử dụng kiến trúc công cụ lưu trữ có thể cắm được. Các công cụ lưu trữ ví dụ là MyISAM, InnoDB, Memory hoặc CSV. 6. Kiến trúc của MySQL Kiến trúc logic của MySQL gồm 3 lớp chính: Application Layer: Đây là lớp trên cùng nhất trong kiến trúc MySQL, là nơi client và user tương tác với MySQL. Nó cung cấp một số dịch vụ như: xử lí kết nối, xác thực, bảo mật. Có ba thành phần chính trong lớp này là Administrators, Clients, Query Users. MySQL Server layer: Lớp này đảm nhất tất cả các chức năng logic của hệ thống, được xem như là bộ não của MySQL. Trong đó, lớp logic của MySQL được chia thành các thành phần: MySQL Services and Utilities, SQL Interface, SQL Parser, Optimizer, Caches. Storage Engine Layer: Lớp cuối cùng trong cấu trúc chịu trách nhiệm lưu trữ là lấy dữ liệu. MySQL cho phép chúng ta lựa chọn các công cụ lưu trữ khác nhau cho các tình huống và yêu cầu khác nhau. Danh sách các công cụ lưu trữ bao gồm: MyISAM, InnoDB, Federated, Mrg_MyISAM, Blackhole, CSV, Memory, Archive, Performance_schema. Hình 10. Kiến trúc logic của MySQL CHƯƠNG II: QUẢN TRỊ VẬN HÀNH VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 1. Tạo và cấu hình cơ sở dữ liệu 1.1. Tạo cơ sở dữ liệu (new schema) 1.1.1. Sử dụng giao diện MySQL Workbench Để tạo một cơ sở dữ liệu bằng giao diện MySQL Workbench ta thực hiện các bước: Đầu tiên khởi động MySQL Workbench, sau đó tiến hành truy cập vào MySQL Workbench, trên thanh công cụ, click vào biểu tượng Create database (Create a new schema…). Hình 11. Tạo cơ sở dữ liệu Nhập tên cho lược đồ và chọn Apply. Hình 12. Cấu hình cho cơ sở dữ liệu Tại cửa sổ Apply SQL Script to Database, click Apply để chạy lệnh SQL tạo lược đồ. Sau đó chọn Finish. Bạn có thể thấy lược đồ mới không chứa bảng, được liệt kê trong ngăn bên trái.
Một số khái niệm cơ bản
Hệ cơ sở dữ liệu
Dữ liệu bao gồm các sự kiện và hiện tượng được ghi nhận, thường không mang ý nghĩa rõ ràng, như chuỗi ký tự, số, giá trị ngẫu nhiên hoặc tập hợp thông tin từ quan sát và nghiên cứu Khi dữ liệu trải qua quá trình xử lý và trở nên có ý nghĩa, chúng được chuyển đổi thành thông tin.
Cơ sở dữ liệu là hệ thống lưu trữ các dữ liệu liên quan nhằm phục vụ nhu cầu khai thác thông tin Để quản lý cơ sở dữ liệu hiệu quả, người dùng cần sử dụng phần mềm quản trị cơ sở dữ liệu.
Hệ cơ sở dữ liệu là hệ bao gồm phần mềm quản trị cơ sở dữ liệu và cơ sở dữ liệu.
Góc nhìn dữ liệu
Góc nhìn cơ sở dữ liệu được thể hiện qua các mức:
(physical level) Đây là mức thấp nhất của sự trừu tượng hóa dữ liệu, thể hiện cách lưu trữ và truy cập dữ liệu
Mức tiếp theo của trừu tượng hóa dữ liệu, mô tả dữ liệu gì được lưu trữ trong cơ sở dữ liệu và các mối quan hệ giữa chúng
Mức cao nhất của trừu tượng hóa dữ liệu, mô tả chỉ một phần của cơ sở dữ liệu ứng với từng người sử dụng
Bảng 1 Các mức thể hiện dữ liệu
Mô hình dữ liệu
Mô hình dữ liệu là tập hợp các khái niệm nhằm mô tả cấu trúc, tính chất và ràng buộc của dữ liệu Có thể phân tích mô hình dữ liệu qua nhiều cấp độ khác nhau.
Mô hình khái niệm cung cấp những khái niệm đơn giản và dễ hiểu cho người dùng, giúp chỉ ra các yếu tố cần quản lý Đây là công cụ hỗ trợ các nhà phân tích thiết kế giao tiếp hiệu quả với người sử dụng, nhằm thu thập thông tin và xác định chính xác các yêu cầu của hệ thống.
Mô hình dữ liệu vật lý cung cấp các khái niệm chi tiết về cách dữ liệu được lưu trữ, bao gồm định dạng bản ghi, thứ tự sắp xếp các bản ghi và đường dẫn truy cập dữ liệu.
Mô hình dữ liệu thể hiện là quá trình mô tả dữ liệu thông qua các ký pháp phù hợp với mô hình dữ liệu mà hệ quản trị cơ sở dữ liệu áp dụng.
Ngôn ngữ dữ liệu
Ngôn ngữ dữ liệu được phân loại thành ba loại chính: ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu và ngôn ngữ điều khiển dữ liệu.
Ngôn ngữ định nghĩa dữ liệu là công cụ quan trọng để xác định cấu trúc các thành phần trong cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu hoạt động như một trình biên dịch, xử lý các câu lệnh định nghĩa dữ liệu nhằm thiết lập và lưu trữ các đặc tả cấu trúc của lược đồ trong danh mục cơ sở dữ liệu Qua ngôn ngữ này, người dùng có thể dễ dàng tạo mới, chỉnh sửa và xóa các lược đồ trong cơ sở dữ liệu.
Ngôn ngữ thao tác dữ liệu là công cụ cho phép người dùng tương tác với cơ sở dữ liệu, thực hiện các thao tác như truy vấn, chèn, sửa đổi và xóa dữ liệu một cách hiệu quả.
Ngôn ngữ điều khiển dữ liệu là công cụ giúp người dùng thực hiện các khai báo bảo mật thông tin và cấp quyền truy cập cơ sở dữ liệu cho các người sử dụng khác trong hệ thống.
Giới thiệu về MySQL
Khái niệm
MySQL là một phần mềm RDBMS mã nguồn mở phổ biến nhất thế giới, được phát triển, phân phối và hỗ trợ bởi Oracle Corporation
MySQL là hệ quản trị cơ sở dữ liệu giúp thêm, truy cập và xử lý dữ liệu trong máy tính, đóng vai trò trung tâm trong tính toán, có thể hoạt động độc lập hoặc tích hợp vào các ứng dụng khác.
Hệ quản trị cơ sở dữ liệu MySQL là một hệ thống client-server, bao gồm máy chủ đa luồng và hỗ trợ nhiều đầu cuối khác nhau Nó cung cấp các chương trình, thư viện, máy khách, công cụ quản trị và nhiều giao diện lập trình ứng dụng (API) để phục vụ nhu cầu quản lý dữ liệu hiệu quả.
MySQL là phần mềm mã nguồn mở miễn phí, cho phép người dùng tải về và tùy chỉnh theo nhu cầu cá nhân Ngoài phiên bản miễn phí, MySQL còn có phiên bản thương mại MySQL Enterprise Edition với nhiều tính năng nâng cao và hỗ trợ tốt hơn cho doanh nghiệp Nhiều công ty lớn như Uber, Airbnb, Netflix, Pinterest, Shopify, Amazon, Twitter và Udemy đang sử dụng hệ quản trị cơ sở dữ liệu này.
Lịch sử phát triển
MySQL là sự kết hợp giữa “My” - tên con gái của nhà đồng sáng lập Monty
Widenius và “SQL” - viết tắt của ngôn ngữ truy vấn có cấu trúc Structured Query
Language Được lên ý tưởng từ những năm 1979 cho mục đích cá nhân và cho đến tháng
5 năm 1995, phiên bản phát hành nội bộ đầu tiên của MySQL mới được ra mắt bởi
MySQL AB là một công ty công nghệ của Thụy Điển, đã đạt hơn 4 triệu lượt cài đặt và 30.000 lượt tải mỗi ngày vào năm 2003, với doanh thu lên tới 12 triệu USD Năm 2008, Sun Microsystems đã mua lại MySQL AB với giá khoảng 1 tỷ USD Tuy nhiên, vào năm 2010, Sun bị Oracle thâu tóm, dẫn đến việc MySQL trở thành sản phẩm thuộc quyền sở hữu và phát triển của Oracle.
Một số tính năng
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ với những tính năng nổi bật như:
- Có thể thao tác dễ dàng với các câu lệnh SQL đơn giản
Hệ thống bảo mật dữ liệu mạnh mẽ đảm bảo an toàn cho thông tin, với mật khẩu được mã hóa trong MySQL Hệ thống cũng hỗ trợ khôi phục giao dịch, cam kết bảo vệ dữ liệu và phục hồi sau sự cố.
MySQL hoạt động theo kiến trúc khách - chủ, bao gồm một máy chủ cơ sở dữ liệu và nhiều máy khách là các chương trình ứng dụng tương thích Nó có khả năng chạy trên nhiều hệ điều hành như Novell NetWare, Windows và Linux.
MySQL có khả năng xử lý khối lượng dữ liệu lớn, lên tới hơn 50 triệu bản ghi Mặc dù kích thước tệp mặc định là khoảng 4 GB, nhưng người dùng có thể mở rộng giới hạn này lên tới 8 TB, mang lại sự linh hoạt cho việc quản lý dữ liệu.
- Hiệu suất cao, tốc độ thực hiện nhanh chóng, đáng tin cậy và rẻ hơn vì kiến trúc công cụ lưu trữ độc đáo
- MySQL hỗ trợ một số lượng lớn các ứng dụng nhúng giúp MySQL hoạt động một cách linh hoạt.
Lựa chọn phiên cài đặt
Một số phiên bản nổi bật của MySQL như:
Phiên bản Ngày phát hành Mô tả
MySQL 5.1 14-11-2008 Phiên bản này chứa các phiên bản MySQL 5.0 đến
MySQL 5.5 03-12-2010 Phiên bản này chứa các phiên bản MySQL 5.5 đến
MySQL 5.6 05-02-2013 Phiên bản này chứa các phiên bản MySQL 5.6 đến
MySQL 5,7 21-10-2015 Phiên bản này chứa các phiên bản MySQL 5.7 đến
MySQL 8.0 19-04-2018 Phiên bản này chứa các phiên bản MySQL 8.0 đến
Bảng 2 Các phiên bản nổi bật của MySQL Trong bài báo cáo này chúng ta sẽ chọn MySQL phiên bản 8.0.25 để thực hiện.
Cài đặt và cấu hình
Để tiến hành cài đặt và cấu hình cho MySQL cần thực hiện các quy trình sau đây:
To download the installation file for MySQL, visit the official MySQL website at [https://dev.mysql.com/downloads/mysql/](https://dev.mysql.com/downloads/mysql/) and select the Microsoft Windows operating system.
Go to Download Page → Chọn Download file ‘mysql-8.0.25-winx64-debug-test.zip’
To install MySQL, first download the installation file Next, open the file and select the 'Custom' setup option for a tailored installation In this step, choose to install both MySQL Server and MySQL Workbench, then click 'Next' to proceed.
In Step 3 of the installation process, you will see the packages selected in Step 2 Next, click on "Execute" and wait for the installation to complete before selecting "Next."
Hình 3 Thông báo trạng thái các gói cài đặt
Bước 4: Tiến hành cài đặt cấu hình cho MySQL bằng cách chọn Next Tại bước Type and Networking, phần mềm tự động chọn chuẩn TCP/IP với cổng mặc định 3306 Tiếp tục chọn Next để chuyển sang bước tiếp theo.
Bước 5: Tại bước Authentication Method, chọn Use Strong Password Encryption for Authentication → Next Tại Accounts and Roles điền mật khẩu của mình vào, sau đó chọn Next
Hình 5 Nhập mật khẩu và thêm người dùng
Bước 6: Tại giao diện Windows Service, chọn thiết lập như mặc định → Next Đến Apply Configuration chọn Execute → Finish
Bước 7: Tại cửa sổ Product Configuration chọn Next
Hình 7 Product Configuration Bước 8: Chọn Finish để kết thúc cài đặt
Hình 8 Hoàn tất quá trình cài đặt
Để hoàn tất quá trình cài đặt và cấu hình MySQL, hãy sử dụng mật khẩu đã thiết lập trước đó để đăng nhập vào MySQL Workbench Nếu bạn đăng nhập thành công, điều đó có nghĩa là việc cài đặt và cấu hình MySQL đã diễn ra thành công.
Hình 9 Giao diện MySQL Workbench
Các thành phần cơ bản
Các thành phần cơ bản của MySQL có thể kể đến như:
MySQL Server là một máy chủ cơ sở dữ liệu chịu trách nhiệm xử lý các truy vấn và thao tác với cơ sở dữ liệu cũng như bảng Nó chấp nhận kết nối từ các máy khách và quản lý quyền truy cập vào cơ sở dữ liệu một cách hiệu quả.
MySQL Clients là các chương trình giúp người dùng giao tiếp với máy chủ MySQL Server để truy cập cơ sở dữ liệu và bảng Một số ứng dụng khách quan trọng bao gồm mysql, mysqladmin, mysqldump, mysqlcheck và myisamchk.
Thư mục dữ liệu trong MySQL là nơi lưu trữ tất cả các thành phần của cơ sở dữ liệu, bao gồm cơ sở dữ liệu, bảng, trình kích hoạt, thủ tục lưu trữ, tệp trạng thái và tệp nhật ký.
Công cụ lưu trữ trong MySQL quản lý cách tổ chức, lưu trữ và truy cập thông tin MySQL sử dụng kiến trúc công cụ lưu trữ có thể cắm được, cho phép lựa chọn giữa các công cụ như MyISAM, InnoDB, Memory và CSV.
Kiến trúc của MySQL
Kiến trúc logic của MySQL gồm 3 lớp chính:
Lớp ứng dụng là lớp cao nhất trong kiến trúc MySQL, nơi mà người dùng và khách hàng tương tác với hệ thống Nó cung cấp các dịch vụ quan trọng như xử lý kết nối, xác thực và bảo mật Trong lớp này, có ba thành phần chính bao gồm Quản trị viên, Khách hàng và Người dùng truy vấn.
Lớp MySQL Server đảm nhận tất cả các chức năng logic của hệ thống, được coi là bộ não của MySQL Lớp logic này được chia thành các thành phần chính: Dịch vụ và Tiện ích MySQL, Giao diện SQL, Phân tích cú pháp SQL, Bộ tối ưu hóa và Bộ nhớ đệm.
Lớp lưu trữ trong MySQL là phần cuối cùng trong cấu trúc chịu trách nhiệm quản lý dữ liệu MySQL cung cấp nhiều công cụ lưu trữ khác nhau để đáp ứng các tình huống và yêu cầu đa dạng, bao gồm MyISAM, InnoDB, Federated, Mrg_MyISAM, Blackhole, CSV, Memory, Archive và Performance_schema.
Hình 10 Kiến trúc logic của MySQL
QUẢN TRỊ VẬN HÀNH VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
Tạo và cấu hình cơ sở dữ liệu
Tạo cơ sở dữ liệu (new schema)
1.1.1 Sử dụng giao diện MySQL Workbench Để tạo một cơ sở dữ liệu bằng giao diện MySQL Workbench ta thực hiện các bước:
- Đầu tiên khởi động MySQL Workbench, sau đó tiến hành truy cập vào MySQL Workbench, trên thanh công cụ, click vào biểu tượng Create database (Create a new schema…)
Hình 11 Tạo cơ sở dữ liệu
- Nhập tên cho lược đồ và chọn Apply
Hình 12 Cấu hình cho cơ sở dữ liệu
Tại cửa sổ "Apply SQL Script to Database", nhấn "Apply" để thực hiện lệnh SQL tạo lược đồ Sau khi hoàn tất, chọn "Finish" Bạn sẽ thấy lược đồ mới không có bảng, được hiển thị trong ngăn bên trái.
Hình 13 Hoàn tất tạo CSDL
1.1.2 Sử dụng câu lệnh SQL
Ngoài ra, để tạo một database trên MySQL ta còn có thể sử dụng câu lệnh SQL sau:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS]
[create_option] create_option: [DEFAULT] { CHARACTER SET [=]
Câu lệnh CREATE DATABASE được sử dụng để tạo một cơ sở dữ liệu với tên cụ thể, yêu cầu quyền truy cập tương ứng Lệnh này cũng tương đương với lệnh CREATE SCHEMA Khi sử dụng từ khóa IF NOT EXISTS, nếu bảng đã tồn tại, sẽ không có thông báo lỗi xuất hiện Bạn có thể chỉ định CHARACTER SET và COLLATE để thiết lập kiểu ký tự cho bảng trong cơ sở dữ liệu Tùy chọn ENCRYPTION cho phép xác định mã hóa mặc định cho cơ sở dữ liệu, với 'Y' để bật mã hóa và 'N' để tắt mã hóa cho các bảng được tạo ra.
Ví dụ: Tạo cơ sở dữ liệu “dbsample1” có thể lưu trữ dữ liệu tiếng việt có dấu:
CREATE DATABASE IF NOT EXISTS dbsample1
CHARACTER SET UTF8 COLLATE utf8_vietnamese_ci;
Cấu hình cơ sở dữ liệu
Sau khi kết nối vào MySQL Workbench, trên cửa sổ SCHEMA, click chuột phải vào database/schema cần cấu hình lại
Hình 14 Cấu hình CSDL trên MySQL Workbench Tiếp theo ta có thể thiết lập lại Charset/Collation của Database theo các tùy chọn có sẵn
1.2.2 Sử dụng câu lệnh SQL
ALTER {DATABASE | SCHEMA} alter_option alter_option: { [DEFAULT] CHARACTER SET [=]
| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'} | READ ONLY [=] {DEFAULT | 0 | 1} }
Tùy chọn READ ONLY trong MySQL cho phép các giá trị DEFAULT, 0 (không chỉ đọc) và 1 (chỉ đọc) Tùy chọn này rất hữu ích khi di chuyển cơ sở dữ liệu, vì một cơ sở dữ liệu được đặt ở chế độ READ ONLY sẽ không bị thay đổi trong quá trình hoạt động, giúp đảm bảo tính toàn vẹn dữ liệu khi chuyển sang phiên bản MySQL khác.
Ví dụ: Câu lệnh này thành công cho dù cơ sở dữ liệu chỉ được đọc hay không:
ALTER DATABASE DBSample READ ONLY = 0
DEFAULT COLLATE utf8mb4_bin;
Câu lệnh này thành công nếu cơ sở dữ liệu không chỉ đọc, nhưng nó sẽ không thành công nếu được thực hiện ở chế độ chỉ đọc:
ALTER DATABASE DBSamplae READ ONLY = 1
DEFAULT COLLATE utf8mb4_bin;
Sao lưu dữ liệu
Sao lưu dữ liệu là thao tác thiết yếu mà mọi quản trị viên hệ thống cần thực hiện để tạo bản lưu trữ cho dữ liệu, giúp khôi phục khi cần thiết Để thực hiện sao lưu dữ liệu trên MySQL, cần tuân theo các quy trình cụ thể.
- Tại thanh menu của giao diện MySQL Workbench, chọn Server → Data Export
- Lựa chọn database/schema và đối tượng muốn backup Ở đây ta chọn CSDL
Hình 16 Lựa chọn đối tượng để backup
Chọn vị trí lưu trữ cho bản sao lưu cơ sở dữ liệu (CSDL) của bạn, với hai tùy chọn khả dụng Thông thường, lựa chọn phổ biến là "Xuất ra Tập tin Tự chứa".
MySQL Workbench cho phép bạn xuất thư mục dự án sang tệp sao lưu riêng biệt cho từng bảng trong cơ sở dữ liệu, giúp lưu trữ các bảng đã chọn một cách dễ dàng mà không cần khôi phục toàn bộ cơ sở dữ liệu.
+ Export to Self-Contained File: Tất cả các bảng đã chọn sẽ được xuất sang một tệp
Hình 17 Lựa chọn kiểu và vị trí backup
- Để thiết lập tùy chọn nâng cao, click Advanced Options…
Hình 18 Lựa chọn mở rộng backup
- Cuối cùng chọn Start Export để backup dữ liệu
Hình 19 Hoàn tất backup dữ liệu
Phục hồi dữ liệu
Phục hồi dữ liệu là quá trình khôi phục lại dữ liệu ban đầu từ bản sao lưu Để thực hiện phục hồi dữ liệu trên MySQL, cần tuân theo các bước cụ thể.
- Bắt đầu tiến hành phục hồi dữ liệu đã xóa bằng file backup đã thực hiện Click Data
Import tại tab Server trên thanh menu
Hình 20 Khôi phục dữ liệu
Khi thực hiện sao lưu, bạn có thể chọn xuất các bảng cơ sở dữ liệu vào một thư mục hoặc một tệp riêng biệt, và quy trình này sẽ thay đổi dựa trên tùy chọn mà bạn đã lựa chọn.
+ Import from Dump Project Folder: import từ 1 folder giống như option export
+ Import from Self-Contained File: import từ 1 file
- Chọn cơ sở dữ liệu backup là dbsample → Start Import
Hình 21 Các lựa chọn khôi phục
Thời gian khôi phục lại dữ liệu phụ thuộc vào kích cỡ của file backup, nếu khôi thành công hệ thống sẽ hiển thị giao diện như dưới đây
Hình 22 Hoàn tất khôi phục dữ liệu
QUẢN TRỊ THÀNH PHẦN VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
Bảng (Table)
Kiểu dữ liệu
Kiểu dữ liệu là quy định về cấu trúc và miền giá trị của dữ liệu có thể nhập vào, cùng với các phép toán có thể thực hiện trên miền giá trị đó.
Mỗi cột trong bảng phải thuộc một kiểu dữ liệu đã được định nghĩa trước, với mỗi kiểu dữ liệu quy định các giá trị dữ liệu cho phép cho cột đó MySQL sử dụng nhiều kiểu dữ liệu khác nhau, được phân chia thành ba loại chính.
Kiểu dữ liệu Mô tả
BOOL/BOOLEAN Giá trị 0 là false, giá trị khác không là true
TINYINT Kiểu số nguyên từ -128 đến 127 Nếu không dấu là 0 đến 255
INT Kiểu số nguyên từ -2147483648 đến 2147483647, nếu không dấu thì dãy giá trị là từ 0 đến 4294967295
MEDIUMINT Kiểu số nguyên từ -8388608 đến 8388607, nếu không dấu thì dãy giá trị là từ 0 đến 16777215
BIGINT Kiểu số nguyên từ -2 63 tới 2 63 -1, nếu không dấu thì từ 0 tới 2 64 -1
FLOAT(M, D) là kiểu số thập phân nhỏ với độ dài hiển thị (M) và số vị trí sau dấu phẩy (D), cho phép tối đa 24 vị trí sau dấu phẩy.
DOUBLE(M, D) là kiểu số thập phân lớn với độ dài hiển thị (M) và số vị trí sau dấu phẩy (D), cho phép phần thập phân lên tới 53 vị trí.
DECIMAL(M, D) Kiểu số thập phân với độ dài hiển thị (M) và số vị trí sau dấu phẩy
(D) Số chữ số (M) tối đa là 65 Số số thập phân tối đa (D) là 30
Bảng 3 Các kiểu dữ liệu số
Kiểu dữ liệu Mô tả
CHAR(M) được sử dụng để lưu trữ chuỗi ký tự có chiều dài cố định tối đa 255 ký tự, trong khi VARCHAR(M) cho phép lưu trữ chuỗi ký tự có chiều dài thay đổi, cũng tối đa 255 ký tự TINYTEXT là loại dữ liệu dùng để lưu trữ chuỗi ký tự có chiều dài tối đa 255 ký tự, và TEXT cho phép lưu trữ chuỗi ký tự dài hơn, lên đến 65,535 ký tự Cuối cùng, BLOB được sử dụng để lưu trữ dữ liệu nhị phân với kích thước tối đa 65,535 byte.
MEDIUMTEXT được sử dụng để lưu trữ chuỗi ký tự với độ dài tối đa là 2^24 - 1 ký tự, trong khi MEDIUMBLOB được thiết kế để lưu trữ dữ liệu nhị phân với dung lượng tối đa là 2^24 - 1 byte.
LONGTEXT được sử dụng để lưu trữ chuỗi ký tự với chiều dài tối đa là 2^32 - 1 ký tự, trong khi LONGBLOB được dùng để lưu trữ dữ liệu nhị phân với chiều dài tối đa cũng là 2^32 - 1 byte.
Bảng 4 Các kiểu dữ liệu chuỗi
• Kiểu dữ liệu thời gian
Kiểu dữ liệu Mô tả
DATE Kiểu dữ liệu thời gian theo định dạng YYYY-MM-DD
TIME Kiểu dữ liệu thời gian theo định dạng HH:MM:SS
YEAR() Lưu 1 năm trong định dạng 2 chữ số hoặc 4 chữ số
DATETIME Kiểu dữ liệu thời gian theo định dạng YYYY-MM-DD HH:MM:SS
Bảng 5 Các kiểu dữ liệu thời gian
Thao tác trên bảng
1.2.1 Thao tác cấu trúc bảng
Các thao tác cấu trúc bảng như tạo, sửa và xóa bảng tương ứng với các câu lệnh DDL CREATE, ALTER, DROP Để thực hiện những thao tác này, người dùng cần được cấp quyền cụ thể cho từng hành động.
Lệnh Mô tả Cú pháp
CREATE [TEMPORARY] TABLE [IF NOT EXISTS]
(create_definition, ) [table_options] [partition_options]
ALTER Lệnh chỉnh sửa bảng
DROP Lệnh xóa bảng DROP TABLE ;
Bảng 6 Các lệnh định nghĩa dữ liệu
Chỉnh sửa cấu trúc bảng, thêm thuộc tính điểm (Diem) sau tên sinh viên (TenSV)
ADD Diem FLOAT AFTER TenSV; Đổi tên cột “MSSV” thành “ID:
ALTER TABLE tblsinhvien CHANGE MSSV ID INT;
1.2.2 Thao tác dữ liệu bảng
Câu lệnh Mô tả Cú pháp
SELECT field1, field2, FROM table_name WHERE
ORDER BY field_name ASC|DESC LIMIT start, limit
INSERT Thêm dữ liệu vào bảng
INSERT INTO table_name(field1, fieldn) VALUES('field1', 'fieldn')
UPDATE Cập nhật dữ liệu bảng
UPDATE table_name SET column1 = value1, column2 = value2 , WHERE [condition];
DELETE Xóa dữ liệu bảng
DELETE FROM table_name WHERE [condition];
Bảng 7 Các lệnh thao tác dữ liệu
Ví dụ: Thêm dữ liệu vào bảng “tblsinhvien”
INSERT INTO tblsinhvien(MSSV,TenSV,DiaChi) VALUES (0302009,'Nguyen Minh J','Bac Lieu');
INSERT INTO tblsinhvien(MSSV,TenSV,DiaChi) VALUES (0302010,'Nguyen Hoang K','Quang Nam');
Cập nhập dữ liệu trong bảng “tblsinhvien” ứng với MSSV = 0302001
UPDATE tblsinhvien SET DiaChi = 'Soc Trang' WHERE MSSV = 0302001; Xóa dữ liệu trong bảng “tblsinhvien” ứng với MSSV = 0302002
DELETE FROM tblsinhvien WHERE MSSV = 0302002;
Khung nhìn (View)
Tổng quan
Khung nhìn là một biểu diễn logic của một hoặc nhiều bảng trong cơ sở dữ liệu, không chứa dữ liệu thực tế Nó được coi là một câu truy vấn (SELECT) được lưu trữ, cho phép người dùng xem khung nhìn như một bảng ảo.
Khung nhìn được coi là một đối tượng trong cơ sở dữ liệu và có thể được truy vấn thông qua câu lệnh SELECT Nó không lưu trữ dữ liệu vật lý, mà thực hiện truy vấn và kết hợp dữ liệu từ các bảng để tạo ra kết quả Việc sử dụng khung nhìn mang lại nhiều ưu điểm.
Khung nhìn giúp đơn giản hóa việc truy cập dữ liệu bằng cách kết hợp thông tin từ nhiều bảng khác nhau, cho phép người dùng sử dụng nó thay cho các câu lệnh truy vấn phức tạp.
Cải thiện bảo mật dữ liệu là điều quan trọng, vì khung nhìn chỉ hiển thị nội dung cho những người dùng đã được cấp quyền, đảm bảo rằng không ai có thể truy cập hoặc sửa đổi dữ liệu của người dùng khác.
− Giảm sự phân tán dữ liệu: Khung nhìn không hiển thị cột không liên quan do đó chúng làm giảm sự phân tán dữ liệu
Tất cả các truy vấn có thể được thực hiện trên các khung nhìn tương tự như trên bảng cơ sở, cho phép triển khai linh hoạt và hiệu quả trong việc truy xuất dữ liệu.
Để giảm thiểu sự gián đoạn cho các ứng dụng khác, việc duy trì cấu trúc bảng ban đầu là rất quan trọng Một khung nhìn có thể giúp bảo toàn diện mạo của cấu trúc này, đảm bảo tính ổn định và khả năng tương thích.
Tạo và thao tác với khung nhìn
CREATE [OR REPLACE] VIEW [tên_csdl.] [(column_list)] AS select-statement;
Ví dụ: Tạo khung nhìn với 2 trường TenSV và DiaChi tại bảng “tblsinhvien” trong CSDL
CREATE VIEW dbsample.ten_diachi AS
SELECT TenSV,DiaChi FROM tblsinhvien ORDER BY DiaChi DESC;
Thực thi khung nhìn bằng câu lệnh SELECT: SELECT * FROM ten_diachi;
Ví dụ: SELECT * FROM ten_diachi;
Hình 23 View sau khi tạo
2.2.2 Thao tác với khung nhìn
Khung nhìn hoạt động như một bảng ảo, cho phép người dùng thực hiện các thao tác như thêm, cập nhật và xóa dữ liệu trực tiếp từ bảng cơ sở Tuy nhiên, để thực hiện những thao tác này, cần tuân theo một số quy tắc nhất định.
- Trong câu lệnh SELECT của khung nhìn không được bao gồm các hàm tổng hợp như MIN , MAX , SUM , AVG và COUNT
- Không sử dụng các từ khóa DISTINCT, GROUP BY, HAVING, UNION hoặc UNION ALL
- Không được có tên cột trùng lặp, đồng thời phải chứa tất cả các cột trong bảng cơ sở không có giá trị mặc định
- Tham chiếu đến dạng xem không thể cập nhật trong mệnh đề FROM
- Không dùng truy vấn lồng tới bảng cơ sở trong mệnh đề WHERE
Các thao tác thay đổi dữ liệu thông qua khung nhìn cần phải tuân thủ các ràng buộc trên các bảng cơ sở, nhằm đảm bảo tính toàn vẹn dữ liệu.
2.2.3 Thay đổi khung nhìn Để định nghĩa lại khung nhìn mà không cần phải xóa khung nhìn đã tạo, ta có thể sử dụng câu lệnh ALTER VIEW để thay đổi cấu trúc khung nhìn Xét về bản chất, việc định nghĩa lại khung nhìn chính là việc thay đổi câu lệnh SELECT trong khung nhìn
ALTER VIEW [tên_csdl.] [(ds_column)] AS
Ví dụ: Thay đổi view có tên là ten_diachi
ALTER VIEW dbsample.ten_diachi AS
SELECT TenSV AS 'Tên sinh viên', DiaChi AS 'Địa chỉ'
FROM tblsinhvien ORDER BY DiaChi;
Hình 24 Thay đổi khung nhìn
Khi không còn nhu cầu sử dụng một khung nhìn, ta có thể xóa khung nhìn đó ra khỏi cơ sở dữ liệu bằng câu lệnh DROP VIEW
Cú pháp: DROP VIEW ;
Ví dụ: Xóa view có tên là “ten_diachi” khỏi cơ sở dữ liệu
DROP VIEW dbsample.ten_diachi;
Chỉ mục (Index)
Chỉ mục là gì
Chỉ mục là dữ liệu có cấu trúc giúp tìm kiếm thông tin nhanh chóng trong bảng Thay vì MySQL phải quét toàn bộ bảng để tìm giá trị cần thiết, chỉ mục cho phép xác định vị trí dữ liệu một cách hiệu quả mà không cần phải xem xét tất cả dữ liệu Điều này giúp tiết kiệm thời gian, đặc biệt khi làm việc với các bản ghi lớn, vì việc tìm kiếm trở nên nhanh hơn rất nhiều so với phương pháp đọc tuần tự.
- Giúp tăng tốc độ truy vấn các bản ghi ở mệnh đề WHERE
- Không chỉ giới hạn trong câu lệnh SELECT mà với cả xử lý UPDATE hay DELETE có điều kiện WHERE
- Sử dụng chỉ mục sẽ làm các thao tác INSERT, UPDATE, DELETE có thể bị chậm
- Với những xử lý ghi dữ liệu yêu cầu nhanh chóng thì không nên sử dụng chỉ mục
- Việc sử dụng chỉ mục sẽ làm hao tốn tài nguyên của server như thêm dung lượng cho cơ sở dữ liệu.
Sử dụng chỉ mục
CREATE [UNIQUE] INDEX ON (column_list);
Từ khóa UNIQUE được sử dụng để tạo chỉ mục duy nhất trên bảng, ngăn chặn sự tồn tại của các giá trị trùng lặp UNIQUE INDEX không chỉ nâng cao hiệu suất mà còn đảm bảo tính toàn vẹn dữ liệu, vì nó không cho phép chèn bất kỳ bản sao giá trị nào vào bảng.
Ví dụ: Câu lệnh SQL bên dưới tạo một chỉ mục có tên "address" trên cột "DiaChi" trong bảng "tblsinhvien":
CREATE INDEX address ON tblsinhvien(DiaChi);
Sử dụng chỉ mục giúp tối ưu hóa quá trình truy vấn dữ liệu, tương tự như việc thực hiện một câu truy vấn Ví dụ, bạn có thể sử dụng chỉ mục đã tạo ở ví dụ trước để cải thiện hiệu suất tìm kiếm.
SELECT TenSV, DiaChi FROM tblsinhvien WHERE DiaChi = ‘Ha Noi’;
• Hiển thị chỉ mục Để hiển thị các chỉ mục đã tạo ta thực hiện lệnh: SHOW INDEX FROM index_name
Ví dụ: SHOW INDEX FROM tblsinhvien;
Hình 25 Hiểu thị chỉ mục
Khi không còn cần thiết sử dụng chỉ mục, bạn có thể xóa nó bằng câu lệnh DROP INDEX Tuy nhiên, cần cân nhắc kỹ lưỡng vì việc xóa chỉ mục có thể ảnh hưởng tiêu cực đến hiệu suất truy vấn Cú pháp để thực hiện là: DROP INDEX index_name ON table_name.
Ví dụ: Xóa index “address”: DROP INDEX address ON tblsinhvien;
Thủ tục và hàm
Thủ tục (Procedure)
Thủ tục là tập hợp các lệnh thực hiện một chức năng cụ thể, giúp nâng cao khả năng xử lý, tính sử dụng chung, bảo mật và an toàn dữ liệu, đồng thời tạo điều kiện thuận lợi cho quá trình phát triển.
Thủ tục lưu trữ (stored procedure) là các đối tượng được lưu giữ trong database, cho phép tái sử dụng dễ dàng Chúng đã được biên dịch thành p-code, giúp nâng cao hiệu suất thực hiện các thao tác như UPDATE và INSERT bản ghi Việc sử dụng thủ tục lưu trữ trong MySQL mang lại nhiều lợi ích cho quản lý dữ liệu.
Tính bảo mật trong hệ thống cơ sở dữ liệu được nâng cao khi nhiều người dùng và chương trình khách có thể thực hiện các hoạt động trên các đối tượng cơ sở dữ liệu thông qua một thủ tục đóng gói sẵn, mà không cần quyền truy cập trực tiếp Thủ tục này kiểm soát các quá trình và hoạt động, bảo vệ các đối tượng cơ sở dữ liệu bên dưới và loại bỏ yêu cầu cấp quyền ở cấp đối tượng riêng lẻ, từ đó đơn giản hóa các lớp bảo mật.
Máy chủ MySQL mang lại tốc độ thực thi nhanh chóng nhờ vào việc các đoạn mã trong thủ tục đã được biên dịch và lưu trữ sẵn trong cơ sở dữ liệu Điều này giúp tiết kiệm thời gian, vì thủ tục có thể được thực hiện ngay lập tức mà không cần phải biên dịch lại các lệnh gửi đến Server.
Tính di động của thủ tục trong MySQL cho phép chúng chạy trên mọi nền tảng mà MySQL hỗ trợ mà không cần cài đặt thêm gói môi trường hoặc phân quyền Điều này mang lại lợi thế cho việc sử dụng SQL so với các ngôn ngữ lập trình bên ngoài.
Tính liên kết trong cơ sở dữ liệu cho phép các thủ tục được lưu trữ luôn sẵn có dưới dạng 'mã nguồn' Điều này mang lại ý nghĩa quan trọng trong việc kết nối dữ liệu với các quy trình hoạt động liên quan.
Tính nhất quán trong thủ tục lưu trữ được đảm bảo thông qua việc thiết lập các ràng buộc dữ liệu, ngăn chặn người dùng thao tác tùy ý làm mất đi tính nhất quán của dữ liệu.
4.1.2 Thao tác với thủ tục
CREATE PROCEDURE [tên_thủ tục] ([param1, param2,…])
[procedure_name] là tên của Stored Procedure
[param1, param2, …] là các tham số truyền vào Stored Procedure, chỉ định tham số đầu vào (IN) hay đầu ra (OUT)
BEGIN khai báo phần thân của Stored Procedure, kể từ câu lệnh này trở đi, định nghĩa những thao tác mà Stored Procedure sẽ thực hiện khi được gọi
DROP procedure IF EXISTS new_procedure;
CREATE PROCEDURE new_procedure(IN MS INT)
SELECT * FROM dbsample.tblsinhvien WHERE MSSV = MS;
Cú pháp: CALL ([param1, param2,…]);
Ví dụ: CALL new_procedure(0302001)
Cú pháp: DROP PROCEDURE procedure_name;
Ví dụ: DROP PROCEDURE new_procedure;
Hàm (Function)
Hàm trong MySQL là một đối tượng cơ sở dữ liệu, bao gồm tập hợp các câu lệnh SQL thực hiện hành động dựa trên các tham số đầu vào và trả về kết quả.
Có thể phân chia hàm thành: hàm có sẵn và hàm do người dùng định nghĩa
Hàm có sẵn trong MySQL là những hàm được khởi tạo mà không cần định nghĩa trước, cho phép thực hiện nhiều thao tác khác nhau Các hàm này thường được phân loại thành nhiều loại khác nhau trong hệ thống.
String Function Hàm thực hiện thao tác trên một chuỗi các loại dữ liệu
Numeric Function Hàm thực hiện thao tác với các loại dữ liệu số
Date Function Hàm thực hiện thao tác trên các loại dữ liệu thời gian
Hàm thực hiện thao tác với tất cả các loại dữ liệu và đưa ra hệ kết quả tóm tắt
Bảng 8 Một số loại hàm có sẵn trong MySQL
4.2.2 Hàm do người dùng định nghĩa
Hàm do người dùng định nghĩa tương tự như thủ tục, đều là tập hợp các lệnh thực hiện một chức năng cụ thể Tuy nhiên, điểm khác biệt là hàm sẽ trả về một giá trị ngay tại thời điểm được gọi, cho phép nó có thể được sử dụng trong các truy vấn SQL.
CREATE FUNCTION [ (parameter datatype [, parameter datatype]) ] RETURNS return_datatype
Trong đó: Parameter: số lượng tham số return_datatype: giá trị trả về
Ví dụ: Tạo một hàm xếp loại cấp độ dựa trên số điểm
CREATE FUNCTION new_function(Diem INT) RETURNS varchar(20)
IF Diem < 6 THEN SET xeploai = "Thap";
ELSEIF Diem >8 THEN SET xeploai = "Cao";
ELSE SET xeploai = "Trung bình";
DROP FUNCTION [IF EXISTS]
Ví dụ: DROP FUNCTION new_function
Ràng buộc
Ràng buộc dữ liệu là các quy tắc trong cơ sở dữ liệu nhằm kiểm tra tính chính xác và sự phù hợp của dữ liệu khi lưu trữ Trong MySQL, ràng buộc có thể được phân loại thành hai loại chính: ràng buộc cấp cột và ràng buộc cấp bảng.
• Column constraint (Ràng buộc cột): ràng buộc được áp dụng cho một cột cụ thể
• Table constraint (Ràng buộc bảng): được khai báo tách rời, có thể áp dụng ràng buộc cho một hoặc nhiều cột
Các dạng constraint thông thường gồm:
Loại ràng buộc Mô tả
NOT NULL Không cho phép chèn hoặc cập nhật các hàng chứa giá trị rỗng trong một cột được chỉ định
UNIQUE Không cho phép chèn giá trị trùng lặp trong một cột Ràng buộc duy trì tính duy nhất của một cột trong bảng
PRIMARY KEY Không cho phép nhiều hàng có cùng giá trị trong cùng một cột hoặc kết hợp các cột và không được có giá trị rỗng
Cột được chỉ định trong một bảng phải là KHÓA CHÍNH và được tham chiếu bởi cột của một bảng khác được gọi là KHÓA NGOẠI LỆ
CHECK Kiểm soát các giá trị trong cột được liên kết, xác định xem giá trị có hợp lệ hay không từ một biểu thức logic
DEFAULT Nếu không có giá trị nào được cung cấp cho một cột, thì cột đó sẽ nhận giá trị được đặt là DEFAULT
Bảng 9 Các loại ràng buộc trong MySQL
Ví dụ: Thêm ràng buộc NOT NULL vào cột “TenSV”
CHANGE COLUMN TenSV TenSV VARCHAR(30) NOT NULL ;
- Thêm ràng buộc khóa chính cho cột “MSSV” (Nếu cột chưa có ràng buộc )
Bẫy lỗi
Tổng quan
Bẫy lỗi (trigger) là một đối tượng trong cơ sở dữ liệu, liên kết chặt chẽ với các sự kiện xảy ra trên bảng Khi dữ liệu thay đổi do một sự kiện nào đó, trigger sẽ được kích hoạt.
- Thực hiện câu lệnh thao tác dữ liệu DELETE, INSERT, hoặc UPDATE
- Thực hiện câu lệnh định nghĩa dữ liệu CREATE, ALTER, hoặc DROP
- Thực hiện hoạt động dữ liệu SERVERERROR, LOGON, LOGOFF, STARTUP, hoặc SHUTDOWN
Lợi ích của việc dùng trigger:
Sử dụng trigger là một phương pháp hiệu quả để kiểm soát và cảnh báo các thao tác không tuân thủ quy tắc đã được thiết lập, từ đó đảm bảo tính chính xác, an toàn và toàn vẹn cho dữ liệu.
- Giúp bắt lỗi logic nghiệp vụ trong lớp cơ sở dữ liệu
- Trigger rất hữu ích cho mục đích kiểm tra các thay đổi được thực hiện trong bảng
- Ngăn chặn các giao dịch không hợp lệ
- Ghi nhật ký một sự kiện và cũng có thể lưu trữ thông tin về quyền truy cập của bảng.
Sử dụng bẫy lỗi
[BEFORE | AFTER] [INSERT | DELETE | UPDATE] ON [tên_bảng]
Ví dụ: Tạo trigger thêm Tên sinh viên và điểm cho bảng “Diem” dựa trên dữ liệu thêm vào bảng “tblsinhvien”
CREATE TRIGGER add_rd AFTER INSERT ON tblsinhvien
INSERT INTO Diem (TenSV,Diem) VALUES (NEW.TenSV,NEW.Diem);
- Thêm dữ liệu vào bảng “tblsinhvien”
INSERT INTO tblsinhvien(MSSV,TenSV,Diem,DiaChi) VALUES (0302011,'Nguyen Thanh L',9,'Bac Lieu');
INSERT INTO tblsinhvien(MSSV,TenSV,Diem,DiaChi) VALUES (0302012,'Nguyen Minh M',8.7,'Quang Nam');
Cú pháp: DROP TRIGGER trigger_name;
Ví dụ: Xóa bỏ trigger “add_rd”
QUẢN TRỊ NGƯỜI DÙNG VỚI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
Quyền đăng nhập hệ thống
Khác với Oracle và SQL Server, MySQL xác thực người dùng dựa trên ba thông tin: tên máy chủ (hostname), tên truy cập (username) và mật khẩu (password) Để truy cập cơ sở dữ liệu, các thông tin này phải khớp với chứng nhận lưu trữ trong cơ sở dữ liệu Tên đăng nhập MySQL hoàn toàn tách biệt với tài khoản hệ điều hành, và mật khẩu MySQL không liên quan đến mật khẩu hệ điều hành Tên máy chủ có thể là địa chỉ IP và có thể không cần cung cấp nếu là máy chủ đang chạy MySQL Kết nối chỉ được cho phép khi ba giá trị host, user và password trùng khớp.
Hình 28 Giao diện cài đặt kết nối Trong đó:
➢ Connection Name: tên của kết nối
➢ Connection Method: phương thức của kết nối
⬧ Hostname: tên host hoặc địa chỉ ip của host
⬧ Port: cổng kết nối (thưởng là 3306)
⬧ Username: tên tài khoản kết nối (nếu là lần đầu tiên tạo thì ta sẽ sử dụng tài khoản root)
⬧ Password: click vào Store in Keychain điền vào password của tài khoản root lúc cài đặt MySQL Server
⬧ Default Schema: đây là đặt mặc định database khi kết nối.
Quyền truy xuất dữ liệu
Khi đã có quyền truy cập vào hệ thống, cần xác định rõ vai trò và quyền hạn của tài khoản đăng nhập trong việc quản lý cơ sở dữ liệu MySQL cung cấp các chức danh và quyền hạn cho người dùng, giúp đáp ứng nhu cầu khai thác dữ liệu hiệu quả.
Bảng các chức danh trong MySQL:
DBA Quyền để thực hiện tất cả các nhiệm vụ
MaintenanceAdmin Quyền duy trì máy chủ
Quyền của ProcessAdmin bao gồm đánh giá, giám sát và hủy bỏ các quy trình của người dùng, trong khi UserAdmin có quyền tạo thông tin đăng nhập cho người dùng và thực hiện việc đặt lại mật khẩu.
SecurityAdmin Quyền quản lý thông tin đăng nhập và cấp cũng như thu hồi các đặc quyền của máy chủ
MonitorAdmin Quyền tối thiểu để giám sát máy chủ
DBManager Quyền trên tất cả các cơ sở dữ liệu
DBDesigner Quyền tạo và thiết kế ngược bất kỳ lược đồ cơ sở dữ liệu nào ReplicationAdmin Quyền cần thiết để thiết lập và quản lý sao chép
BackupAdmin Cấp các quyền tối thiểu cần thiết để sao lưu bất kỳ cơ sở dữ liệu nào
Custom Liệt kê các đặc quyền (tùy chỉnh) khác được chỉ định cho tài khoản người dùng
Bảng 10 Các vai trò trong MySQL Bảng các quyền có sẵn trong MySQL:
ALL [PRIVILEGES] Cho phép tất cả các quyền
ALTER Cho phép thay đổi cấu trúc của bảng
ALTER ROUTINE Cho phép sử dụng các câu lệnh làm thay đổi hoặc hủy bỏ các quy trình đã lưu trữ
CREATE Cho phép sử dụng các câu lệnh tạo cơ sở dữ liệu và bảng mới
CREATE ROUTINE Cho phép sử dụng các câu lệnh tạo quy trình được lưu trữ
CREATE TABLESPACE Cho phép sử dụng các câu lệnh tạo, thay đổi hoặc xóa không gian bảng và nhóm tệp nhật ký
Cho phép tạo bảng tạm thời bằng câu lệnh CREATE TEMPORARY TABLE
Cho phép sử dụng các câu lệnh ALTER USER, CREATE USER, DROP USER, RENAME USER, và REVOKE ALL PRIVILEGES
CREATE VIEW Cho phép sử dụng câu lệnh CREATE VIEW
DELETE Cho phép xóa hàng khỏi bảng trong cơ sở dữ liệu
DROP Cho phép sử dụng các câu lệnh loại bỏ (loại bỏ) cơ sở dữ liệu, bảng và khung nhìn hiện có
EVENT Cho phép sử dụng các câu lệnh tạo, thay đổi, loại bỏ hoặc hiển thị sự kiện cho Event Scheduler
EXECUTE Cho phép sử dụng các câu lệnh thực thi các thủ tục và hàm được lưu trữ
FILE Cho phép đọc, ghi và tạo mới các file và một số tùy chọn khác trên file
GRANT OPTION Cho phép cấp hoặc thu hồi từ những đặc quyền của người dùng khác mà bản thân bạn sở hữu
INDEX Cho phép sử dụng các câu lệnh tạo hoặc xóa chỉ mục INSERT Cho phép chèn hàng vào bảng trong cơ sở dữ liệu
LOCK TABLES Cho phép sử dụng các câu lệnh LOCK TABLES để khóa các bảng mà bạn có quyền truy vấn
PROCESS Kiểm soát quyền truy cập vào thông tin về các luồng thực thi trong máy chủ
PROXY Cho phép một người dùng mạo danh hoặc được biết đến như một người dùng khác
REFERENCES Việc tạo ràng buộc khóa ngoại yêu cầu quyền
RELOAD Cho phép sử dụng các câu lệnh như FLUSH, RESET, sử dụng các tùy chọn mysqldump
REPLICATION CLIENT Cho phép sử dụng câu lệnh SHOW MASTER STATUS,
SHOW SLAVE STATUS và SHOW BINARY LOGS
REPLICATION SLAVE Cho phép các câu lệnh SHOW SLAVE HOSTS, SHOW
RELAYLOG EVENTS và SHOW BINLOG EVENTS SELECT Cho phép truy vấn các bảng trong cơ sở dữ liệu
SHOW DATABASES Cho phép tài khoản xem tên của cơ sở dữ liệu
SHOW VIEW Cho phép sử dụng câu lệnh SHOW CREATE VIEW
SHUTDOWN Cho phép sử dụng câu lệnh SHUTDOWN
TRIGGER Cho phép sử dụng trigger
UPDATE Cho phép cập nhật các hàng trong bảng cơ sở dữ liệu
USAGE Chỉ ra rằng một tài khoản không có đặc quyền
Bảng 11 Các quyền có sẵn trong MySQL
Quyền và vai trò
Tổng quan
Các đặc quyền trong tài khoản MySQL xác định các hoạt động mà tài khoản đó có thể thực hiện Những đặc quyền này khác nhau tùy thuộc vào ngữ cảnh áp dụng và mức độ hoạt động mà chúng liên quan đến.
Quyền cấp quản trị cho phép người dùng quản lý toàn bộ hoạt động của máy chủ MySQL, với các đặc quyền này mang tính toàn cục và không giới hạn cho một cơ sở dữ liệu cụ thể nào.
Quyền cấp cơ sở dữ liệu áp dụng cho một cơ sở dữ liệu và tất cả các đối tượng bên trong nó Các đặc quyền này có thể được cấp cho từng cơ sở dữ liệu cụ thể hoặc toàn cục, cho phép chúng có hiệu lực trên tất cả các cơ sở dữ liệu.
Quyền cấp đối tượng cho phép gán các đặc quyền cho các đối tượng cơ sở dữ liệu như bảng, chỉ mục, khung nhìn và quy trình được lưu trữ Điều này có thể áp dụng cho các đối tượng cụ thể trong một cơ sở dữ liệu, cho tất cả các đối tượng thuộc một loại nhất định trong cơ sở dữ liệu (chẳng hạn như tất cả các bảng) hoặc một cách toàn cục cho tất cả các đối tượng của loại đó trong tất cả các cơ sở dữ liệu.
• Tạo tài khoản người dùng
Cú pháp: CREATE USER @'tên_host’ IDENTIFIED BY 'password';
Ví dụ: CREATE USER user_db@'localhost' IDENTIFIED BY 'Abc123';
Hoặc cũng có thể tạo tài khảo người dùng bằng giao diện MySQL Workbench:
Hình 29 Tạo tài khoản người dùng
Tại cửa sổ Administration chọn Users and Privileges -> Add Account Xuất hiện cửa sổ cửa nhập các thông tin cần thiết để tạo tài khoản sau đó chọn Apply
➢ Login Name: tên người dùng
➢ Authentication Type: kiểu xác thực ( Standard hoặc Standard Old )
➢ Limit Connectivity to Hosts Matching: tên host hoặc ip của host hoặc % ( tất cả các host )
➢ Password: mật khẩu cho tài khoản người dùng
➢ Confirm Password: nhập lại mật khẩu
❖ Account Limits: tab này sẽ giới hạn số lượng queries hay kết nối … của user
❖ Administrative Roles: cài đặt các roles cho user trong hệ thống
❖ Schema Privileges: Phân quyền cho user
Gán quyền và vai trò cho user
Tại cửa sổ Users and Privileges chọn tab Administrative Roles, chọn user cần gán vai trò -> chọn vai trò mong muốn -> Apply
Hình 30 Gán vai trò người dùng
Tại cửa sổ Users and Privileges chọn tab Schema Privileges -> chọn Add Entry
Xuất hiện cửa sổ New Schema Privilege Definition, chọn Selected schema để chọn database -> OK Sau đó chọn các quyền -> Apply
Hình 31 Gán quyền người dùng
Có thể sử dụng câu lệnh:
GRANT [permission type] ON [tên_csdl].[tên_bảng] TO @'host_name’;
Ví dụ: GRANT INSERT, UPDATE, CREATE ON *.* TO db1@'localhost';
• Tạo kết nối đến MySQL bằng user
- Tại MySQL Workbench Home Window, click vào dấu (+) -> Xuất hiện cửa sổ Setup New Connection Tiến hành nhập các thông tin cần thiết -> chọn Configure
Server Management để kiểm tra cấu hình MySQL Server
Hình 32 Kiểm tra cấu hình kết nối MySQL
- Tại cửa sổ Configure Local Management chọn Next -> Nhập mật khẩu user -> OK
Hình 33 Nhập mật khẩu user
- Tiếp tục chọn Next cho đến khi kết thúc trở lại cửa sổ Setup New Connection, để kiểm tra kết nối có thành công chọn Test Connection
Hình 34 Kiểm tra kết nối
- Chọn OK để hoàn tất
Hình 35 Kết nối mới được tạo thành công
MySQL là lựa chọn hàng đầu cho doanh nghiệp và người dùng cá nhân nhờ vào những ưu điểm nổi bật như phần mềm mã nguồn mở, dễ cài đặt, triển khai và nâng cấp Với những tính năng vượt trội này, MySQL luôn giữ vị trí trong top các hệ quản trị cơ sở dữ liệu hàng đầu trong nhiều năm.
MySQL là phần mềm RDBMS hữu ích cho quản lý dữ liệu, không chỉ là mã nguồn mở phổ biến mà còn khẳng định vị thế trên thị trường như biểu tượng của sự đổi mới và tiện ích.