-- 首次無密碼 mysqladmin -u root password "yourpass" -- 有舊密碼 mysqladmin -u root -poldpass password "newpass"
密碼用雙引號或無引號,避免單引號。
mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('yourpass') WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON picture.* TO 'test'@'%' IDENTIFIED BY 'test';
| 層級 | ON 子句 | 示例 |
|---|---|---|
| 全局 | *.* | GRANT ALL ON *.* TO user@host |
| 庫級 | db.* | GRANT SELECT ON db.* TO user@host |
| 表級 | db.tbl | GRANT SELECT,UPDATE ON db.tbl TO user@host |
| 列級 | db.tbl(col) | GRANT UPDATE(col) ON db.tbl TO user@host |
ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE, FILE, PROCESS, RELOAD, SHUTDOWN, ALL, USAGE
user@localhost 本地user@'%' 任意主機(慎用)user@'.domain.com' 域後綴user@'192.168.1.%' IP 前綴user@'192.168.1.0/255.255.255.0' CIDRIDENTIFIED BY 'pass' 設密碼WITH GRANT OPTION 允許轉授權REVOKE SELECT ON db.* FROM 'user'@'host';
僅刪除權限,用戶記錄保留,仍可連接(無權限)。
DELETE FROM mysql.user WHERE User='user_name' AND Host='host_name'; FLUSH PRIVILEGES;
直接操作授權表後必須 FLUSH PRIVILEGES 生效(GRANT/REVOKE 自動刷新)。