Mysql创建子账号以及权限设置

11 篇文章 0 订阅

一.连接Mysql(我用的工具是Xshell6)

命令:

mysql -uroot -p

 二.创建子账号

创建一个用户名为test,密码为123456的子账号。

命令:

CREATE USER 'test'@'localhost'  IDENTIFIED BY '123456'; #这种创建方式只能本地登录 
CREATE USER 'test'@'%' IDENTIFIED BY '123456'; #这种创建方式可以远程登录,即别的地方可以登录 

三.测试刚刚创建的子账号是否可以登录

命令:

mysql -utest -p

 四. 给子账号添加权限

1.创建一个测试数据库testDemo(登录root账号)

命令:

create database testDemo default charset utf8 collate utf8_general_ci;

 2.添加权限

添加权限第1步:

"localhost"表示对本地主机授权,此时使用子账号本地登录拥有testDemo的操作权限,远程登录依然没有testDemo的操作权限。

all privileges表示所有操作权限,也可以填写部分权限,比如把all privileges改为create,update,delete,select等。

命令:

//赋予test子账号对testDemo数据库所有操作权限
grant all privileges on testDemo.* to "test"@"localhost" identified by "123456"; 

//如果不想赋予所有权限
//赋予test子账号对testDemo数据库select,update权限
grant select,update on testDemo.* to "test"@"localhost" identified by "123456"; 

//注意:mysql8.0之后赋予权限命令有变化,如下
grant all privileges on testDemo.* to 'test'@'localhost';

//赋予权限后要刷新系统权限表,使配置生效
flush privileges; 


 备注:也可能不是localhost表示本地,要去mysql.user表中查看(想了解更多mysql.user表的介绍,可以访问:

mysql.user表权限字段说明全介绍_世俗的大尾巴也熊的博客-CSDN博客

查询语句为:

select host,user,grant_priv,Super_priv from mysql.user;

添加权限第2步:

“%” 表示对所有非本地主机授权,不包括localhost。此时使用子账号远程登录对testDemo数据库才有操作权限。

命令:

grant all privileges on testDemo.* to "test"@"%" identified by "123456"; 
flush privileges; #刷新系统权限表

使用子账号远程登录的结果:

五.删除子账号及权限

1.删除远程test账号(此时本地的test账号依然可以使用)

命令:

drop user test@"%";

2.删除本地test账号

命令:

drop user test@"localhost";

至此整个流程完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值