Bài viết sau sẽ hướng dẫn cho các bạn tạo user và database sử dụng MySQL thông qua command line (Terminal).
Đăng nhập root MySQL
Trước tiên bạn cần đăng nhập vào MySql bằng user root bằng cách gõ lệnh sau
mysql -u root -p
Tạo database mới
create database tên_database_muốn_tạo ;
Tạo và phân quyền cho user
create user 'tên_username'@'localhost' identified by 'password_muốn_tạo';
Để thay đổi password user ta dùng lệnh:
set password for 'tên_username'@'localhost' = password('password_muốn_đổi');
Thiết lập tất cả quyền cho user ta dùng lệnh:
grant all on tên_database.* to tên_username@localhost;
Nếu bạn muốn phân quyền giới hạn cho user thì dùng dòng lệnh sau:
grant SELECT on tên_database.* to tên_username@localhost;
Thay chữ SELECT bằng 1 trong các quyền dưới đây
Danh sách các quyền bạn có thể thiết lập cho user:
ALL Cung cấp tất cả quyền hạn trên một đối tượng cơ sở dữ liệu. ALTER Cho phép thay đổi cấu trúc của một đối tượng trong cơ sở dữ liệu, như bảng hoặc cột. CREATE Cho phép tạo mới các đối tượng cơ sở dữ liệu, ví dụ như bảng, cơ sở dữ liệu, view. VIEW Đề cập đến một "view" trong cơ sở dữ liệu, là một bảng ảo được tạo ra từ một truy vấn. CREATE VIEW Tạo một view mới trong cơ sở dữ liệu. DELETE Cho phép xóa các bản ghi trong một bảng. DROP Xóa hoàn toàn một đối tượng (bảng, index, view, trigger) khỏi cơ sở dữ liệu. GRANT OPTION Cho phép người dùng cấp quyền mà họ có cho người khác. INDEX Cho phép tạo và quản lý các chỉ mục (indexes) trên bảng. INSERT Cho phép chèn dữ liệu vào các bản ghi của bảng. SELECT Cho phép truy vấn và đọc dữ liệu từ các bảng hoặc view. SHOW VIEW Hiển thị cấu trúc hoặc định nghĩa của một view trong cơ sở dữ liệu. TRIGGER Cho phép tạo các trigger, là các hành động tự động thực thi khi có sự kiện thay đổi trên một bảng. UPDATE Cho phép sửa đổi các bản ghi hiện có trong một bảng.
Reload all the privileges
FLUSH PRIVILEGES;
Thoát chế độ MySQL command
exit;
Dưới đây là toàn bộ lệnh để tạo 1 database, user và phân quyền user vào database:
Bạn có thể thay tên database, user, password theo ý bạn
CREATE DATABASE hoc_website; CREATE USER 'hoc_root'@'localhost'; SET PASSWORD FOR 'hoc_root'@'localhost' = PASSWORD('123456'); GRANT ALL PRIVILEGES ON hoc_website.* TO 'hoc_root'@'localhost' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; EXIT;
Remote Database
nếu cho phép remote mysql từ xa thì các lệnh dưới:
CREATE DATABASE hoangnam_db;
CREATE USER 'hoangnam_user'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON hoangnam_db.* TO 'hoangnam_user'@'%';
FLUSH PRIVILEGES;