系统: | Win10 64位 (两台电脑,一台做服务器,另一台做客户端) |
数据库: | Mysql8.0.18 |
数据库管理工具: | Navicat Premium 12.0.11 |
首先两台电脑上都安装并配置Mysql数据库,安装教程请看https://blog.csdn.net/tiankongzhicheng441x/article/details/103602343
Navicat仓库管理工具请自行百度下载,这里不提供。
1.以管理员身份运行命令提示符窗口(CMD窗口),开启数据库。
2.将两台电脑设置在同一个局域网内,如电脑A的IP为192.168.222.1;电脑B作为服务端IP为192.168.222.2。
3.打开Navicat,这里我已经建好了一个数据库,接下来添加一个用户名为test的新用户,给远程电脑连接时用。
% 表示同一个网段的其他电脑都可以连接该服务器,如果设置成固定IP,则只能是设置成这个IP的电脑访问,其他都访问不了。
服务器权限
在网格里,对照在 权限 列出的服务器权限,勾选 授予 选项以指定这个用户有这个权限。可以授予多个权限(通常都要勾选Select选项)。
权限
要编辑一个用户的特定对象权限,点击 添加权限 以打开窗口并按照下列步骤进行:
1. 在查看树展开节点直至到达目标对象。
2. 勾选对象以显示网格在右边的面板上。
3. 在网格里,对照在 权限 列出的权限,勾选 状态 选项以指定这个用户有这个权限。 可以授予多个权限。
注意:用户权限的信息是保存在 mysql 数据库(即数据库名为 mysql)的 user、 db、 host、 tables_priv、 columns_priv和 procs_priv 表。 MySQL 服务器在启动时读取这些表的内容。
4.在服务器上测试新用户的连接和权限设置情况。选择连接->MySQL...
\
连接名一栏:名称随便起,主机名或IP地址一栏:写数据库所在的主机名(localhost)或服务器的 IP 位址。如果是在另一台电脑连接服务器则写服务器IP地址,用户名就填test,密码是新建用户test时设置的密码。填写完成后点击确定按钮。
现在已经通过test用户登录上了,可以查看test用户针对数据操作所具有的权限。
在test_3306中选择mysql数据库,用户的权限在user表中可以看到,用户对数据库的权限在db表中查看,用户对数据表的权限可以在tables_priv表中查看
5。接下来在Navicat中测试,根据上图可知:mydatabase2数据库没有Create权限,mydatabase3数据库有Create权限。
选择mydatabase3数据库->点击查询->选择新建查询,输入如下代码用于创建新表:
CREATE TABLE `Scores` (
`ID` int(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
`Name` varchar(20) NOT NULL,
`stuNumber` int(8) NOT NULL,
`Score` double(3, 1) UNSIGNED ZEROFILL NOT NULL,
PRIMARY KEY (`ID`)
);
,如下图:
选择mydatabase2数据库->点击查询->选择新建查询,输入如上代码用于创建新表:结果如下图
6.在电脑A的IP为192.168.222.1上连接服务器(电脑B)。
1.在电脑A上以管理员身份运行命令提示符窗口(CMD窗口),开启数据库
2.输入mysql -h 192.168.222.2 -P 3306 -utest -p 回车,再输入密码。
同样可以远程连接服务器,该用户test操作数据库的权限在Navicat上已经测试过了,这里就不再测试了。
注意:如果服务器端修改了权限表后要重启服务器,因为MySQL 服务器在启动时读取这些表的内容,在用Navicat数据库管理工具设置表时,刷新一下表或重新打开表即可。