MySQL传统方案和通过SSH连接哪个好?( 二 )


MySQL传统方案和通过SSH连接哪个好?

文章插图
 
四、本地开发连接上述通过两台服务器给大家做了演示,接下来看看开发人员如何连接开发数据库
同样在本地也执行命令
ssh -fN -L3306:47.93.12.204:3306 root@8.142.40.202在host配置文件中进行域名映射
// 127.0.0.1 MySQL服务器地址127.0.0.1 8.142.40.202使用Navicat进行连接
MySQL传统方案和通过SSH连接哪个好?

文章插图
 
可以看到已经连接上了
MySQL传统方案和通过SSH连接哪个好?

文章插图
 
这样就强制让所有开发人员通过SSH来连接MySQL,当有一个开发离职后,只需要删除对应的服务器账号即可
五、限制linux用户登录你肯定也想到了,通过SSH连接使用的服务器账号密码,那么就意味着所有开发者都可以用过自己的账号密码进行登录服务器 。
【MySQL传统方案和通过SSH连接哪个好?】上有政策,下有对策,接下来看看如何限制用户登录服务器 。
例如现在添加了用户niuniu,此时该用户是肯定可以连接到服务器的
MySQL传统方案和通过SSH连接哪个好?

文章插图
 
可以看到当前用户通过Xsheel连接上了服务器,服务器权限还是给部分人开通比较好,接下来就来限制该用户登录服务器
MySQL传统方案和通过SSH连接哪个好?

文章插图
 
执行命令
usermod -s /sbin/nologin niuniu 用户niuniu通过Xsheel登录服务器,可以看到返回当前账号不可用,说明我们想要的结果已经有了
MySQL传统方案和通过SSH连接哪个好?

文章插图
 
再看看本地Navicat连接是否正常
MySQL传统方案和通过SSH连接哪个好?

文章插图
 
截止到这里就已经完成了所有的安全措施 。
六、扩展一:WITH GRANT OPTION这个参数是可选的,如果不加,那这句话到这就结束了,这个用户就是一级,他不能再去建子用户了,如果给了,就代表可以建子账号,当然子用户能分出去的权限仅限他自己有的权限
注意一点,这里的操作只能分配给已有的账户,创建新账户需要另外的权限 并且,还得有GRANT权限,不然的话就算有这个权限但是没有执行这个权限的权限
七、扩展二:Linux用户操作添加用户
useradd {username}删除用户
vipw进去之后删除对应的用户名即可groupdel {username}rm -rf /home/{username}设置密码
passwd {username}需要输入两遍,注意
八、总结本文给大家介绍两种应对开发者离职后,数据库权限收回的方案 。一种是通过MySQL本身字段的权限、另一种是通过SSH来连接,目前咔咔所在的公司是通过SSH进行连接的 。
在介绍这两种方案时发现了很多可以扩展的知识点,也一并写了出来,当你看这篇文章时就不用再一次进行查资料了 。




推荐阅读