mysql dba工作笔记pdf_MySQL权限角色的演进

这是学习笔记的第 1949 篇文章

MySQL提供的网络访问模式,主要提供了socket和TCP/IP两类,并且对于每个实例,只能对应一个端口。

在   Percona和MariaDB分支中有一个新特性是对于连接数的额外支持,可以配置extra_port和extra_max_connections,在连接数已经溢出的情况下连接到MySQL。

3.2.1 socket连接

socket是一种特殊的文件,也叫做套接字,是应用层与TCP/IP协议族通信的中间软件抽象层.

Socket连接可以理解为服务端的连接,也是MySQL默认使用socket方式连接,这个也是DBA在管理中,如果是在服务端可以使用mysql命令即可连接到数据库的一个原因。mysql服务启动的时候,会去my.cnf配置文件中查找socket文件的路径,即socket文件的生成目录在[mysqld]上指定,如果没有则默认是/tmp/mysql.sock,使用的默认端口为3306。

或者也可以在mysql命令中指定socket路径,比如

  mysql --socket=/data/mysql_3306/tmp/mysqld.sock -uroot -p[password] -P3306

3.2.2 TCP/IP连接

TCP/IP 连接可以理解为客户端的通用连接方式,它是建立一个基于网络的连接请求,我们对于开发同学所开放的主要是基于TCP/IP方式的连接方式。

使用mysql命令的方式,可以参考;

mysql -h[host]  -u[username] -p[password] -P[port] 

3.2.3 MySQL访问模式的演进

MySQL的访问模式在版本演进中也在逐步发生变化,通常来说,MySQL的访问模式是基于用户+主机的方式,而真正的数据是在database里面,和Oracle里面的user schema是一个量级的,可以认为用户是权限的载体,而数据库是数据的宿主,用户和数据库关系如下:

3895d69dc17fc306e4a3f810256efef0.png

而在MySQL 8.0的改进使用了角色。

99fd58789ee39cafd8e6c26632cb39a5.png

如果要对用户授权,一个通用的MySQL 授权语句如下:

grant select on mytest.* to dev_user_ro@'192.168.6.%' identified by 'mypassword';

注:5.6开始标准授权语句修正为先创建用户然后再授权

用户名,按照多级划分的方式,可以按照“环境_服务名_权限标示”的格式进行命名:

(1) 环境

 “环境”一般分为生产环境和测试环境,生产环境的用户名以“srv_”开头,测试环境的用户名以“dev_”开头。

(2) 服务名

用以标示这个数据库用户所连接的服务。

(3)  权限标示

用于进行用户权限类型的标示,可以分为三种权限:只读,基本读写,高级读写,分别用 ro, rwl, rwh 来表示,一般来说这三种权限的分类如下:

l 只读用户 ro,只有 select 权限;

l 基本读写用户 rwl,除 ro 的权限外,还有 insert,update,delete,exec 等权限;

l 高级读写用户 rwh,除 rwl 的权限外,还有 create, drop, alter 等权限。

09b0834329b809c07185d74958bcf609.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值