加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql CREATE DEFINER

发布时间:2020-12-11 23:45:38 所属栏目:MySql教程 来源:网络整理
导读:这是我在这里的第一个问题,老实说,经过长时间的调查,我没有回答. 我创建了一个在CentOS Web服务器上运行的Intranet Web应用程序,该应用程序使用另一个本地服务器(总是CentOS)作为mysql数据库. 在数据库内部,我创建了例如以下开始的例程: CREATE DEFINER='lo

这是我在这里的第一个问题,老实说,经过长时间的调查,我没有回答.

我创建了一个在CentOS Web服务器上运行的Intranet Web应用程序,该应用程序使用另一个本地服务器(总是CentOS)作为mysql数据库.

在数据库内部,我创建了例如以下开始的例程:

CREATE DEFINER='localuser02'@'192.168.0.5' PROCEDURE 'Createuser'

IP 192.168.0.5是安装应用程序的服务器的IP.

直到这里一切正常,应用程序正在运行.
几天前,由于运行应用程序的服务器是旧的,要添加另一台服务器(我的意思是商用服务器),我想的是在它们之间进行流量平衡.

现在我已经正确设置了两个服务器来运行应用程序,问题在于SQL DEFINER只有一个IP.

我的服务器现在有192.168.0.5和192.168.0.6.

从理论上讲,我的新DEFINER应该是这样的:

CREATE DEFINER='localuser02'@'192.168.0.5,192.168.0.6' PROCEDURE 'Createuser'

但我不知道该怎么办.

谢谢你的回答.

对于通配符,我理解像使用百分之类似于你所说的192.168.%或者像eggyal 192.168.0建议的那样.%
我这样做的问题和担忧是否有效?由于我的网络分布如下:

192.168.0.1 - router
192.168.0.2 - voip phone
192.168.0.3 - voip phone
192.168.0.4 - firewall
192.168.0.5 - Server 01
192.168.0.6 - Server 02
192.168.0.7 - SQL Server
192.168.0.8 - LAN Printer
192.168.0.9 - First pc
192.168.0.10 - Second pc

我的问题是将IP从192.168.0.1保留到xxx.10保留,如果我在SQL上添加通配符可能与地址冲突我的意思是DEFINER尝试验证例如在voip电话或打印机或防火墙而不是两个服务器专属?

还有第二个问题,有可能列出多个IP更加整洁,如:

CREATE DEFINER=’localuser02’@’192.168.0.5,192.168.0.6’PROCEDURE’Createuser’

提前致谢

最佳答案 除非您还指定了SQL SECURITY INVOKER,否则DEFINER子句控制在执行时使用的帐户.当您的代码当前已编写时,无论哪个用户在运行时执行代码,它都将在DEFINER中指定的安全上下文中执行.如果您需要为定义者指定更广泛的地址范围,请在主机部分中单独使用%,或使用类似192.168的内容.%

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读