创建用户
-- webroot:用户名称
-- %:是通配符指的是任意IP,这个位置也可以指定特定的ip,或者localhost代表本机才可以登录
create user 'webroot'@'localhost' identified by '123456';
create user 'webroot'@'ip' identified by '123456';
create user 'webroot'@'%' identified by '123456';
--刷新命令
flush privileges;
操作可能会遇到的异常:
创建用户成功后可以在mysql 库的user 表中查看到
分配权限
超级管理员权限
grant all on *.* to 'webroot'@'%';
给用户指定数据库demo_ssm ,* 代表所有table也可指定某张表, all 表示所有权限
grant all privileges on demo_ssm.* to 'webroot'@'%' with grant option;
赋值用户只要查看权限
grant select on demo_ssm.* to webroot@'%';
常见的权限有select,insert,update,delete,create,drop,分别是查、增、改、删、创建、清空,前四种是对表数据的操作,后两种是对表的操作。
grant select,insert,update,delete,create,drop on demo_ssm.* to webroot@'%';
撤销用户权限:
REVOKE ALL ON demo_ssm.* FROM webroot@'%';
删除用户
drop user 'webroot'@'%' ;
修改用户密码:
ALTER USER 'webroot'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '654321';
如果执行成功无效,可执行刷新命令
flush privileges;
查看用户权限
show grants for 'webroot'@%;
show grants for webroot;
用户分配授权的权限
# 查看用户授权的权限没有打开Grant_priv
SELECT host,user,Grant_priv,Super_priv FROM mysql.user;
#赋予权限
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
移除删库权限
revoke drop on 库.* from '用户'@'%';
flush privileges;
授予用户在某个数据库上执行所有存储过程的权限
GRANT EXECUTE ON `test_db`.* TO 'testuser'@'%';
授予某个用户执行某个存储过程的权限
GRANT EXECUTE ON PROCEDURE `procedure_name` TO 'testuser'@'%'
随记。。。。