Mysql用户管理及用户权限

一、数据库用户管理

1、创建用户

create user 'username'@'localhost' identified by 'password';

create user:创建用户固定开头
'username':用户名
'localhost':新建用户可以在哪些主机上登录。可以使用ip地址、网段、主机名
例如:
'username'@'localhost'
'username'@'20.0.0.20'
'username'@'20.0.0.0/24'
'username'@'%':mysql的通配符,表示任意和所有的意思

identified by '123456':新建用户的密码

加密创建

select password('password');
create user 'username'@'localhost' IDENTIFIED by 'select结果';

Mysql用户管理及用户权限_第1张图片

2、查看用户

use mysql;
select user,host,authentication_string from user;

Mysql用户管理及用户权限_第2张图片

3、重命名用户

rename user '原用户名'@'localhost' to '新用户名'@'localhost';

4、删除用户

drop user '用户名'@'localhost';

5、修改用户密码

当前登录用户修改密码:
set password = password('新密码');
flush privileges;

给其他用户修改密码:
set password for '用户名'@'localhost' = password('新密码');

6、找回密码

[root@mysql1 ~]# vim /etc/my.cnf
--插入--
skip-grant-tables  #免密登录

[root@mysql1 ~]# systemctl restart mysqld.service 

Mysql用户管理及用户权限_第3张图片

use mysql;
select user,authentication_string,host from user;
update mysql.user set authentication_string=password('新密码') where User = 'root';

[root@mysql1 ~]# vim /etc/my.cnf
--删除--
skip-grant-tables

[root@mysql1 ~]# systemctl restart mysqld.service

Mysql用户管理及用户权限_第4张图片

二、数据库用户授权

1、用户赋权

赋予全部权限:
grant all privileges on *.* to 'username'@'localhost' IDENTIFIED by 'password';
grant:赋权语句固定开头
all peivileges:赋予所有权限
on *.*:所有库都有操作权限
on 库名.*:只能对指定的库进行操作
to 'username'@'localhost':赋权给哪个用户
identified by 'password':使用哪个密码进行登录

赋予多个权限:
例:grant select,insert,drop on *.* to 'username'@'localhost' IDENTIFIED by 'password';

Mysql用户管理及用户权限_第5张图片

2、查看用户权限

show grants for 'username'@'localhost';

3、移除用户权限

移除全部权限:
revoke all PRIVILEGES on *.* from 'username'@'localhost';

移除选定权限:
例:revoke insert,drop on *.* from 'username'@'localhost';

Mysql用户管理及用户权限_第6张图片

Mysql用户管理及用户权限_第7张图片

你可能感兴趣的:(mysql,android,数据库)