使用Navicat管理MySQL用户
3699字,阅读需时13分钟

课程前言

【前面一篇学习了在用SSH客户端远程连接MySQL服务器的情况下,如何使用MySQL命令查询、创建、删除MySQL普通用户,以及修改用户的密码等操作。对于熟悉MySQL命令的开发者来说,自然不在话下。但对MySQL命令比较陌生的开发者来说,就有点勉为其难了,也是一件非常痛苦的事情。不过,上帝在给我们关闭一扇门的同时,也给我们打开了另一扇门,这扇门就是Navicat,开发者可以用Navicat轻松管理MySQL。本篇和同学们探讨如何使用Navicat工具管理MySQL普通用户,包括用户的创建、查询、权限设置以及密码修改等操作。通过本篇的学习,你将了解到Navicat如何远程连接安装在CentOS环境下的MySQL服务器,如何创建用户并授权,以及如何删除用户等用户管理操作。】

 

在企业数据库应用中,大部分企业都采用Linux操作系统作为服务器操作系统,MySQL也会安装到Linux系统中,本篇以CentOS 7操作系统为例,与同学们探讨Navicat远程管理MySQL用户的相关内容。

本篇分为四个小节,第一小节与同学们探讨Navicat在Windows环境下如何远程连接MySQL服务器;第二小节介绍一下Navicat提供了哪些功能,用于管理MySQL用户;第三小节与同学们探讨如何创建新用户,并分配数据库的操作权限;第四小节介绍MySQL用户的密码修改、编辑及删除操作。

第1小节 远程连接MySQL服务器

Navicat远程连接安装在CentOS系统的MySQL服务器,需要使用SSH协议进行连接。在Navicat的连接对话框中,选择SSH标签。在SSH标签属性页中,使用SSH通道,输入项分别说明如下:

①主机名或IP地址

CentOS系统的主机名称或IP地址,本课程使用的CentOS系统主机IP地址为192.168.0.112,因此输入192.168.0.112。

②端口

SSH协议的端口号是22,类似HTTP协议的端口号是80一样,端口口采用默认值22即可。

③用户名

登录CentOS系统的用户名,本课程使用CentOS的root用户登录CentOS系统,此处输入root。

④验证方法

验证方法有两种选项,一种是密码验证,一种是公钥验证。密钥验证是用SSH密钥工具在本地创建公钥私钥对,将公钥复制到需要远程连接的CentOS系统中,将私钥保存到一目录下。连接时选择公钥验证,然后在私钥选择保存的私钥文件即可。这里选用密码验证。

⑤密码

验证方法选择密码验证时,此处输入用户登录CentOS系统的登录密码。

输入各项值如下图所示:

 image.png                                      

图 1  Navicat连接对话框SSH属性页

 

SSH属性页填写完成后,选择常规标签,进入常规属性页,常规属性页的输入项分别说明如下:

①连接名

连接MySQL服务器的名称,此处可以随意填写。

②主机名或IP地址

安装MySQL服务器的主机名或IP地址,此处的地址应和SSH的地址相同,也输入192.169.0.112。

③端口

此端口为MySQL服务器监听端口,MySQL服务器的默认监听端口为3306,此处采用默认端口即可。

④用户名

此处为连接MySQL服务器的用户名,一般为root用户。

⑤密码

root用户登录MySQL的密码。

输入各项值如下图所示:

image.png

图 2 Navicat连接对话框常规属性页

连接属性填写完成后,单击连接测试按钮,测试连接是否成功。若连接成功,则弹出对话框提示连接成功。若连接失败,则可能是属性值填写错误、网络问题、或远程主机等问题,需要一一排除。

第2小节 Navicat提供的MySQL用户管理功能

Navicat为我们提供了编辑和创建MySQL用户、删除MySQL用户、用户权限管理功能。

使用root账号登录MySQL服务器后,可以创建新的用户并给新用户分配权限。从数据库安全性考虑,针对不同的用户应分配不同的数据库操作权限。例如,对仅提供查询的用户来说可以只分配Select权限,Select权限允许用户查询数据库。而不应该分配Insert和Update权限,Insert和Update权限都允许用户修改数据库。

使用Navicat也可以重新编辑用户的权限及属性,包括用户的登录名、密码、每小时连接数、每小时查询次数等相关用户属性。

当用户废弃不用时,可以使用Navicat提供的删除功能删除用户。

第3小节 Navicat创建MySQL用户

从数据库安全性上考虑,应该为使用系统的不同用户提供不同的数据库访问权限。例如,在编程微课项目中,学生只能查询和使用课程,但不能修改课程内容。而老师的权限就要大一些,即可以查询课程,也可以修改课程。因此,需要创建学生用户和老师用户,并分配不同的数据库访问权限。下面给出创建用户的步骤。

连接数据库成功后,单击工具栏中的“用户”图标,进入用户管理窗口,在用户管理窗口选择“新建用户”命令,弹出新建用户对话框,该对话框有“常规”、“高级”、“服务器权限”、“权限”、“SQL预览”属性页,各属性页分别说明如下:

①常规属性页

该属性页主要用来填写需要建立的用户名、主机地址、新建用户的密码和确认密码。

主机地址可以填写“localhost”或“%”。如果填写“localhost”,则创建的用户只能在本地访问数据库;如果填写“%”,则创建的用户即可以在本地,也可以远程访问数据库。

所填内容如下图所示。

image.png

图 3 Navicat创建新用户常规属性页

②高级属性页

该属性页主要用来填写对数据库的访问限制。主要有“每小时最多查询数”、“每小时最多更新数”、“最大连接数”等。这些内容可以根据实际需要进行设置,也可以不填。

③服务器权限

该属性页主要用来设置新建用户对MySQL服务器的访问权限,例如在MySQL服务器中查询数据(Select)、插入数据(Insert)、更新数据(Update)、创建数据库(Create)、删除数据库(Drop)等权限。一般来说,如果建立的是普通用户的话,只选择查询数据、插入数据、更新数据即可。本案例用于创建学生用户,因此仅选择查询权限(Select)。

所选权限如下图所示。

image.png

图 4 Navicat创建新用户服务器权限属性页

④权限

该属性页用来设置对某一数据库的访问权限,前面的“服务器权限”设置是针对该服务器下所有数据库的访问权限。如果不希望该用户能访问所有的数据库,而只访问指定的数据库,则需要在该属性页中设置具体的数据库访问权限。单击工具栏中的“添加权限”命令,可以添加一条权限记录。本案例创建的学生用户被限制只能查询“progm”数据库,因此需要添加针对“progm”数据库的权限记录。

所选权限如下图所示。

image.png

图 5 Navicat创建新用户权限属性页

⑤SQL预览

在SQL预览属性页中可以查看根据前面设置生成的MySQL命令。如下图所示。

image.png

图 6 Navicat创建新用户SQL预览属性页

 

用户信息填写完成和用户权限设置完毕后,就可以单击工具条中“保存”按钮,Navicat根据设置内容创建一个新的用户。如下图所示。

image.png

图 7 用户列表

从上图可以看到,在用户列表中,有新创建的名称为“student”的用户。

第4小节 Navicat修改用户密码和删除用户

如果需要修改已有用户的密码,可以在用户列表中选中该用户,并单击工具条中的“编辑用户”按钮修改用户的密码。同样也可以修改用户的权限。

删除用户操作就非常简单了,在用户列表中选中需要删除的用户,并单击工具条中的“删除用户”按钮,Navicat会弹出对话框提示是否删除该用户,确认无误并单击“删除”按钮,Navicat会删除该用户。

■  课程小结

1、Navicat作为MySQL服务器的客户端管理工具,需要先连接到MySQL服务器后,才能对MySQL服务器进行管理操作。在进行远程连接时,需要根据MySQL服务器所在的操作系统,选择不同的连接选项。当MySQL安装在CentOS系统时,需要选择SSH协议连接,若MySQL安装在Windows系统上,则直接连接即可。

2、用Navicat创建用户非常方便,不过有几点需要注意。一是在填写主机地址时,需要弄清楚“localhost”和“%”所表示的含义,“localhost”表示本地连接,“%”表示本地和远程连接都可以;二是弄清楚“服务器权限”和“权限”的区别,“服务器权限”是指对服务器的操作权限,包括服务器下的所有数据库的访问权限,“权限”是针对某一具体数据库的权限设置,例如可以设置student用户只能查询progm数据库。

■  思考与练习

1、在一个项目中,使用MySQL数据库,版本为5.7,操作系统为CentOS 7。采用Navicat远程管理MySQL服务器,请给出Navicat远程连接MySQL服务器的步骤。

2、使用Navicat创建MySQL数据库用户时,假设要创建的用户只能查询某一指定的数据库,该如何给新建用户授权?

我要评论
全部评论
郎宏林
授课老师
授课老师简介
项目经理,系统分析和架构师,从事多年中文信息处理技术。熟悉项目管理、擅长项目需求分析和设计、精通Java、C#、Python等编程语言。
下载APP

手机、电脑同步学

用微信或手机浏览器扫描二维码,即可下载APP。

  • 备案号:鲁ICP备15001146号
  • @1997-2018 潍坊米粒花网络技术有限公司版权所有