MySQL用户权限简单控制

1,普通用户的创建

1,格式 create user 'username'@'hostname' identified by 'password';
语义:创建一个名字为username,主机名(hostname),密码为password 的用户

2,格式 grant [privilieges] on database.table to 'username'@'hostname' identified by 'password';
语义:其中privilieges表示要赋予用户的操作哪个database的table的CURD的权限
所有的权限使用 all ,所有库,表使用*.*来表示,其中hostname 可以用%,表示任意客户端

3,使用insert 语句在mysql.user 表中插入数据,但是这种鉴于有的不同版本对于user表的字段名定义不一样。
4,我们创建的用户可以用 show User,Host from mysql.user; 来罗列出来。MySQL中user表就定义了用户的各种权限字段,如下图:
在这里插入图片描述

2,普通用户的删除

1,格式DROP USER 'username'@'localhost';

2,使用delete,直接在mysql.user 删除对应用户,这里说一下,mysql 的身份验证,服务器只有在mysql.user中HostUser,Password(每个版本可能不一样) 与客户端的用户名,密码,以及IP匹配的才会链接到服务器,否则是不会链接的

3,密码修改

1,update mysql.user set Password=Password("password") where User = 'userName' and 'Host'='hostname';
这里可能会报错,还是那个原因,字段名不一样。

2,set password=password("rootPsd");这是MySQL内置的语句
如果你是使用普通用户登录,这句话就是修改普通用的密码

3,set password for 'username'@'hostname' = password('usernpwd');
root用户修改普通用户的密码

4,grant usage on *.* to 'notrootUsername'@'hostname' ideantified by 'notrootUserPwd';

3,用户对数据库的操作权限

1,grant all on *.* to 'username'@'hostname' identified by 'pwd'; 授权
all 是所有操作(CRUD) 第一个 * 表示任意数据库,第二个* 表示数据库下的任意表,还可以指定表中的指定列

2,revoke all on *.* from 'username'@'hostname'; 收回权限

4,关于允许远程登录问题,

很多人都说修改my.cnf,或者在该文件中添加某个命令。怎么说呢,可能人家这样做是对的!,由于版本的不同,配置文件稍有不同,但是我们应该自己找一下,不要盲目去看别人怎么做,
一般MySQL的核心配置不在这里,但是这里面包含了其他配置文件的路径,
在这里插入图片描述
主要配置在第二个路径下, vim tc/mysql/mysql.conf.d/mysqld.cnf
在这里插入图片描述
这里bind-address = 0.0.0.0 我已近修改了,原本是127.0.0.1并把注释去掉就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL 5.7 权限配置主要分为以下两个方面: 1. 用户管理 在 MySQL 中,用户是通过用户名和主机名的组合来唯一确定的。因此,我们可以通过创建用户并授予相应的权限来实现权限控制。 创建用户的语法如下: ``` CREATE USER 'username'@'host' IDENTIFIED BY 'password'; ``` 其中,`username` 表示用户名,`host` 表示主机名,`password` 表示密码。 授权的语法如下: ``` GRANT privileges ON database.table TO 'username'@'host'; ``` 其中,`privileges` 表示权限,`database.table` 表示数据库表,`username` 和 `host` 表示用户名和主机名。 例如,授予用户 `test` 在数据库 `testdb` 中对表 `testtable` 的查询和修改权限的语句为: ``` GRANT SELECT,UPDATE ON testdb.testtable TO 'test'@'localhost'; ``` 如果要撤销某个权限,可以使用 `REVOKE` 命令,语法与 `GRANT` 命令类似。 2. 访问控制 MySQL 5.7 中提供了访问控制功能,可以根据用户连接来源 IP 地址、时间、SSL/TLS 连接等因素进行限制。 访问控制的配置文件是 `my.cnf`,可以通过修改该文件来进行访问控制的配置。例如,以下是一个简单的访问控制配置示例: ``` [mysqld] bind-address = 127.0.0.1 skip-networking = false max_connections = 100 max_user_connections = 50 [client] ssl-mode = REQUIRED ``` 其中,`bind-address` 表示 MySQL 监听的 IP 地址,`skip-networking` 表示是否禁止网络连接,`max_connections` 表示最大连接数,`max_user_connections` 表示每个用户的最大连接数,`ssl-mode` 表示 SSL/TLS 连接模式。 需要注意的是,访问控制的配置可能会对 MySQL 的性能产生影响,因此需要谨慎配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值