ฉันได้สร้างฐานข้อมูลเช่น '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;
ตอนนี้ฉันสามารถเข้าสู่ระบบฐานข้อมูลได้จากทุกที่ แต่ไม่สามารถสร้างตารางได้
วิธีการให้สิทธิ์ทั้งหมดในฐานข้อมูลนั้นและตาราง (ในอนาคต) ฉันไม่สามารถสร้างตารางในฐานข้อมูล 'mydb' ฉันได้รับเสมอ:
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
ไหม?
FLUSH PRIVILEGES;
เฉพาะในกรณีที่คุณปรับเปลี่ยนตารางให้โดยตรงโดยใช้งบเช่นINSERT
, UPDATE
หรือDELETE