MySQL用户及权限管理?

MySQL中为什么要设置用户管理

对于这个话题,我相信对于一个技术人员来说,已经是不能再谈的话题了。说的简单通俗一点就是为了安全。

MySQL中用户的分类

1.超级管理员

我们在安装MySQL之后,MySQL系统为给我们自带一个用户,那就是root用户,这个用户具有MySQL当中所有的,功能这个用户只有最高权限的人才会拥有,一般来说是DBA中职级最高的。同时我们也可以自己手动创建一个普通用户,给它赋予最高的权限,这时候这个普通用户就是超级管理员了,下面会讲解如何创建。

2.普通用户

所谓的普通用户,这就不难理解了,就是只有部分权限的用户啦。一般我们在创建该用户时,会根据这个用户的只能来划分。比如用户只需要做查表操作,就只给select权限,需要做增删改查,就给insert、delete、update、select权限。

如何划分权限

权限的划分非常重要,因为权限的大小决定了该用户对数据库的操作。一般我们划分就按照用户的功能划分。比如普通的开发人员只需要做一些简单的增删改查,就只给这几个权限即可;级别更高一点的,比如需要对数据库导入导出等操作,我们也可以给到对应的权限。

查看mysql系统当前存在的用户

通过1中,我们知道数据库的用户信息存在mysql数据库中的user表中,我们查询该表,结果如下。Host字段是当前用户可登录的ip地址(如果是*则代表可任意地址登录),User字段是用户名称,Password是用户密码。

自定义用户

为什么需要自定义用户呢?我们会从如下几个方面考虑,权限、职能。

默认的root用户属于mysql中的超级管理员的职能,如果每个人都能拿到该root的权限,容易发生一些操作错误,轻者数据库部分数据出现问题,重则整个数据库遭到毁灭。

默认的root用户属于mysql中的超级管理员的职能,容易遭到怀有恶意企图的人所利用。

默认的root用户属于mysql中的超级管理员的职能,给定指定用户相应的权限,可以保证每个用户只能使用该用户职责内的权限,既可以保证数据库的分工更加精细化,同时也保证了数据库的安全。

创建mysql用户

如果我们创建了相同的用户名,需要删除第一次创建时的用户名,不能只删除mysql库下的user表信息,应该使用drop user username命令进行删除用户操作。然后使用flushprivileges进行权限刷新。如果按照上述操作,提示用户无法登录,查看防火墙状态,centos7防火墙设置参考链接

删除用户

刷新权限

修改用户密码

centos设置防火墙

1.centos6设置防火墙

a.查看防火墙状态

b.重启防火墙

c.开放端口

d.查看开放的端口

e.关闭防火墙

f.启动防火墙

2.centos7设置防火墙

a.查看防火墙状态(3种方式)

b.重启防火墙

c.开放端口

d.查看开放的端口

e.关闭防火墙

f.启动防火墙

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190804A0IXET00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券