01/10/2018, 15:31

Bài 3: Tạo, Xóa Database

Bạn cần có đặc quyền để tạo hoặc xóa database. Vì vậy giả định rằng bạn có truy cập root user. Mặc định khi cài gói mysql thì sẽ có một user có quyền cao nhất được tạo đó là account root với password là rỗng, tức không cần pass. Account root được cài đặt mặc định trong file config.inc trong ...

Bạn cần có đặc quyền để tạo hoặc xóa database. Vì vậy giả định rằng bạn có truy cập root user. Mặc định khi cài gói mysql thì sẽ có một user có quyền cao nhất được tạo đó là account root với password là rỗng, tức không cần pass.

Account root được cài đặt mặc định trong file config.inc trong thư mục phpmyadmin. Do vậy khi ta truy cập phpmyadmin là ta đã đi thẳng vào account root.

Để kiễm tra ta đang log vào account nào thì từ giao diện phpmyadmin chọn mục SQL và gõ lệnh “show grants” bạn sẽ thấy kết quả cho biết account hiện hành bạn đang log vào.

Toàn bộ phần lớn serial học của ta sẽ viết code trong mục SQL của phpmyadmin. Việc viết code chổ này không khác gì bạn viết command line nếu bạn đang xài linux hoặc command line của window khi cài từng gói mysql.

Trên thực tế thì gói XAMPP này cũng cấu hình để dùng command line trên window được, nhưng cái đó sẽ đề cập sau, còn bây giờ cái nào tiện lợi để ta học thì làm cho nó nhanh, vì chủ yếu là hiểu và viết mã lệnh mysql là chính yếu.

bai3_create_db_0

bai3_create_db_1

Như hình thì ta đang log vào account root. Bạn có thể tạo account khác và set một số quyền cho nó để mục đích bảo mật và phân quyền user.

Ta làm như sau:

Cú pháp: CREATE USER ‘newuser’@’localhost’ IDENTIFIED BY ‘password’;

Sau đó ta cấp quyền cho user mới tạo theo cú pháp như sau:

GRANT ALL PRIVILEGES ON * . * TO ‘newuser’@’localhost’;

Chúng ta đã đưa vào quyền ALL PRIVILEGES tức là user này sẽ có toàn quyền giống như root, được quyền tạo, xóa, sữa, thêm, rút trích dữ liệu v..v…

Sau đây là một số quyền cho bạn cấp phát khi tạo user:

  •   ALL PRIVILEGES: toàn quyền
  •   CREATE: cho tạo table mới hoặc database
  •   DROP: cho xóa table, database
  •   DELETE: cho xóa các dòng dữ liệu trong table
  •   INSERT: cho đọc dữ liệu
  •   UPDATE: cho cập nhật dữ liệu
  •   GRANT OPTION: cho grant hoặc remove user privileges khác, là sữa quyền user khác.

Cú pháp tổng quát:

GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@’localhost’;

Nếu bạn muốn cho user toàn quyền trên các database và table thì ta thay thế mục [database name] và [table name] bằng dấu *. Việc tạo user khi ta thao tác với hệ thống, với ngôn ngữ lập trình để phân quyền, còn bây giờ ta dùng root account để thực hành tạo database;

Cú pháp: Create database ‘database name’

bai3_create_db_3

Xóa Database

Cú pháp: drop database “database name”;

Ở trên chúng ta đã tạo database(db) là mysql_tutorial và db chưa có bất kỳ dữ liệu nào cả nên bạn thoải mái mà chạy thử lệnh xóa xem sao. Khi thực hiện câu lệnh này thì hãy cẩn thận, nếu db chứa dữ liệu thì sẽ bị mất hết.

Do vậy để tránh tai họa xãy ra bất ngờ thì bạn nên tạo một user khác root và grant cho nó những quyền không được drop database và hãy log vào user này khi thao tác với database.

0