一、背景之前待的几个公司,数据库、服务器权限都是给所有后端直接拉满的,但也会出现员工离职的情况,每次有人离职时都需要改数据库密码、服务器密码 。
每次密码修改后得告知所有开发修改本地密码,但这样的事情也不是经常发生,公司虽小但很稳定 。
假设你所待的公司是一个开发非常多的公司,有可能你待了一年还没认识全,人员流动的速度也非常快,这时上面那种方案的执行成本就非常高了 。
若此时把这个问题抛给你,让你解决你会有什么方案?
给大家介绍两种方案,一种传统方案另一种是通过SSH来实现的 。
二、传统方案MySQL版本:8.0.26
其中最简单的方案就是给每个人在数据库添加一个账号,具体步骤如下:
创建新用户
create user "kaka"@"%" identified by 'qwerty123456';
其中kaka为自定义的用户名;%为登录域名,host为'%'时表示为 任意IP,为localhost时表示本机,或者填写指定的IP地址;qwerty123456为密码
为用户授权
grant all privileges on kaka.* to "kaka"@"%" with grant option;或grant all on *.* to "kaka"@"%";
其中kaka.*,kaka为数据名,*为所有表,如果想授权全部表就把kaka.*写成*.*,当然这里是以开发库为基础的,所有的权限都得给 。当前也可以给予部分权限 。
刷新权限
flush privileges;
使用用户名:kaka进行登录
发现kaka用户只有两个库,kaka库就是授权的库,当切换系统库时发现是没有权限的 。
在切到kaka库,是可以做正常的curd操作的
文章插图
给予部分权限
grant update on kaka.* to "kaka"@"%";flush privileges;
若想给多个权限,则逗号隔开即可,update,select,insert ....,执行完切记需要刷新权限,否则不会生效文章插图
撤销全部权限
这块有点小插曲,当执行撤销命令后报了这样一个错
Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
查阅了一下官方文档,原因是由于root用户没有SYSTEM_USER权限,把权限加入后即可解决grant system_user on *.* to 'root';
revoke all privileges ,grant option from kaka;或revoke all privileges on kaka.* from kaka;flush privileges;
撤销部分权限revoke select on kaka.* from kaka;
kaka.*为表名,kaka为用户名员工离职删除用户即可
drop from kaka;
kaka 为用户名嗯,成功的把MySQL权限给复习了一遍.....
三、通过SSH隧道连接MySQL数据库准备工作
主机名角色IP端口kaka1MySQL主机47.93.12.2043306kaka2远程服务器8.142.40.20233888
修改MySQL主机仅允许远程服务器连接
use mysql;update user set host='8.142.40.202' where user = "root";
文章插图
此时在MySQL主机服务器是直接登录不了的
文章插图
配置SSH连接MySQL主机
在远程主机执行
ssh -fN -L33888:47.93.12.204:3306 root@8.142.40.202
在使用SSH连接使用时发现部分人员说是连接一直在断,影响了正常开发,只需要加上下面这个参数重新执行即可,这个参数是每60秒发送一个KeepAlive请求,保证终端不会因为超时空闲而断开连接ssh -o ServerAliveInterval=60 -fN -L33888:47.93.12.204:3306 root@8.142.40.202
注意前边是远程服务器 后边是远程主机的服务器账号、服务器地址命令执行完成后,可以通过命令
mysql -h 127.0.0.1 -P 33888 -uroot -p
密码是MySQL服务器的 MySQL密码
推荐阅读
- 前列腺炎患者饮食 前列腺炎的几种食疗方案
- 中医教育不应忘记传统文化
- 最新情人节创意活动方案5篇 情人节创意惊喜
- 皮蛋需要煮熟吗
- 中西医结合从诊疗方案开始
- 蟹籽寿司
- 少白头怎么治疗 少年白发的食疗方案
- 2020幼儿园环创方案! 幼儿园环境创设方案!
- 携程小程序生态之Taro跨端解决方案
- JDBC连接池封装MaxCompute/Hive/Oracle/Mysql