Tôi đã tạo cơ sở dữ liệu, ví dụ 'mydb'.
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
Bây giờ tôi có thể đăng nhập vào cơ sở dữ liệu từ mọi nơi, nhưng không thể tạo bảng.
Cách cấp tất cả các đặc quyền trên cơ sở dữ liệu đó và các bảng (trong tương lai). Tôi không thể tạo bảng trong cơ sở dữ liệu 'mydb'. Tôi luôn nhận được:
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
FLUSH PRIVILEGES
chưa?
FLUSH PRIVILEGES;
chỉ khi bạn sửa đổi các bảng cấp trực tiếp sử dụng những câu như INSERT
, UPDATE
hoặcDELETE