MySql 管理系统用户
mysql系统中的超级用户 root (安装mysql时系统指定)
超级用户root像个皇帝,拥有mysql数据库所有的权限;
新建的普通用户,在对数据库的操作上,没有任何权利,需要超级用户root授予权限;
授予的权限一般是select,insert,update,delete,create,alert,drop等
没有授权下,普通用户不能操作数据库,比如:创建数据库,创建数据表等
所有的用户数据,都在mysql.user数据表中
通过查看user数据表,可以看到普通用户拥有的权限
一,创建普通用户
即在user数据表中插入数据
方式一:
insert into user ( Host,User,Password ) values ( 'localhost','任意' ,password(123') );
flush privileges;
注意:
1. Host 设置为 localhost 表示该用户只能本地登陆该数据库;
Host 设置为 % 表示任意一台电脑都可登陆,用于远程登陆
Host 设置为指定ip 表示指定电脑登陆
2. password()函数用于密码加密
3. flush privileges;用于刷新系统授权表;
必须执行该语句,否则新添的普通用户不能登陆,除非重启数据库;
方式二:
create user '用户名'@'主机名' indentified by '密码';
也是在user表中添加数据,这种方式,密码是经过password()函数加密的;
主机名设置同方式一中的Host
二,删除用户
1.方式一
直接对user表操作,在表中删除数据
2.方式二
drop user '用户名'@'主机名';
两种方式的区别:
方式一:仅仅将user表中的相关用户数据删除
方式二:一方面删除user表中相关用户数据,另一方面,删除其他权限表中的相关内容
三,用户切换
先退出;再登陆;
root授权给普通用户
有两种方式
1. 权限列表
在创建普通用户时,在对应的权限列表中,设置'Y'即可;
权限列表,通过查看mysql.user即可; show columns from user;
2. grant 语句授权
grant 权限 数据库名.* to 用户名@主机名 identified by 用户密码;
注意:
1.权限可参见权限列表
2.从语句中可以看出,必须是root下创建数据库,授权给普通用户;
一般不开放创建数据库的权限;阿里云数据库亦是如此;
这些权限仅仅是操作数据库中数据表的权限;普通用户对数据没有权限;
授予用户对数据库的部分权限
grant create,select,insert,update,delete on 数据库.* to 用户名@主机名 identified by 用户密码;
授予用户对数据库全部权限
grant all privileges on 数据库.* to 用户名@主机名 identified by 用户密码;