Mysql之用户管理

发布于:2022-12-16 ⋅ 阅读:(752) ⋅ 点赞:(0)

目录

新建用户

明文创建用户

使用密文创建数据库

查看用户信息

重命名用户

删除用户

修改当前用户密码

修改其他用户密码

root密码遗忘

数据库授权

授权

数据库授权

指定用户可以查看哪个数据库/表,别的数据库无权访问


新建用户

CREATE USER ‘用户名’@‘来源地址’ [IDENTIFIED BY [PASSWORD] ‘密码’];

‘用户名’:指定将创建的用户名
‘来源地址’:指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
‘密码’:
若使用明文密码,直接输入’密码’,插入到数据库时由Mysql自动加密;
若使用加密密码,需要先使用SELECT PASSWORD(‘密码’); 获取密文,再在语句中添加 PASSWORD ‘密文’;
若省略“IDENTIFIED BY”部分,则用户的密码将为空(不建议使用)
 

明文创建用户

CREATE USER 'lxx'@'localhost' IDENTIFIED BY '123456';

使用密文创建数据库

select password('981101');   #生成密文

create user 'decade'@'localhost' identified by password '*5AF6C6D4A2BF4B47E3C2B035DBEF9A86BDD55017';     #用密文当成密码创建新用户

 

查看用户信息

创建后的用户保存在mysql数据库的user表里
use mysql; #使用mysql
select User from user;
或者select user from user\G

重命名用户

rename user ‘decade’@‘localhost’ to ‘faiz’@‘localhost’;
#将用户decade改名为faiz

删除用户

drop user faiz'@'localhost;
#删除用户faiz'@'localhost

修改当前用户密码

set password = password(‘123456’);

修改其他用户密码

set password for ‘lxx’@‘localhost’ = password(‘abc123’);

root密码遗忘

修改配置文件,添加配置,免密登陆mysql
vim /etc/my.cnf
#添加此行
skip-grant-tables
update mysql.user set authentication_string = password(‘abc123’) where user=‘root’;
flush privileges; #刷新
再次修改my.cnf配置文件,注释掉之前添加的配置命令,再次重启服务
使用新密码登陆

数据库授权

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户;当指定的用户名存在时,GRANT 语句用于修改用户信息。

授权

GRANT 权限列表 ON 数据库名/表名 TO ‘用户名’@‘来源地址’ [IDENTIFIED BY ‘密码’];

  • 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
  • 数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符。
  • 用户名@来源地址’:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.accp.com”、“192.168.48.%”等。
  • IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分,则用户的密码将为空。

数据库授权

show grants for lxx@localhost;
#查看用户权限

指定用户可以查看哪个数据库/表,别的数据库无权访问

grant select on team.* to lxx@localhost;
#用户lxx只有team库下所有表的查询权限,只能看不能添加修改


网站公告

今日签到

点亮在社区的每一天
去签到