假如是mysql8版本的話,使用
grant all privileges *.* to '用戶'@'localhost' identified by '自定義密碼';
會報錯,因為要先創建用戶再進行賦權,不能同時進行
創建用戶
create user '用戶名'@'localhost' identified by '密碼';
flush privileges;
刷新權限
其中localhost指本地才可連接
可以將其換成%指任意ip都能連接
也可以指定ip連接(192.168.110.131)
或者某個網段(192.168.110.%)
修改密碼
Alter user '用戶'@'localhost' identified by '新密碼';
flush privileges;
授權
grant all privileges on *.* to '用戶'@'localhost' with grant option;
with gran option表示該用戶可給其它用戶賦予權限,但不可能超過該用戶已有的權限
比如a用戶有select,insert權限,也可給其它用戶賦權,但它不可能給其它用戶賦delete權限,除了select,insert以外的都不能
這句話可加可不加,視情況而定。
all privileges 可換成select,update,insert,delete,drop,create等操作
如:grant select,insert,update,delete on . to '用戶'@'localhost';
第一個*表示通配數據庫,可指定新建用戶只可操作的數據庫
如:grant all privileges on 數據庫.* to '用戶'@'localhost';
第二個*表示通配表,可指定新建用戶只可操作的數據庫下的某個表
如:grant all privileges on 數據庫.指定表名 to '用戶'@'localhost';
查看用戶授權
show grants for '用戶'@'localhost';
撤銷權限
revoke all privileges on *.* from '用戶'@'localhost';
用戶有什么權限就撤什么權限
刪除用戶
drop user '用戶'@'localhost';