VPS和虚拟机在mysql数据库上权限的不同

今天老蔡转移一些需要加快一点速度的应用到美国西海岸的这个虚拟主机上,突然发现过去正常运行的某php程序不能用啦:增删改查,样样不行。而且最终发现问题都已经完全不能阻止DT到来的步伐。是什么个情况呢?上次开发人人网的小号管理器的应用之前,老蔡曾道听途说过mysql里面可以方便的自定义procedure和function,在php中直接调用就可以,可以把数据和逻辑分开处理,怎么好怎么好。于是就这么干了:把所有的跟数据库打交道的过程都封装成了procedure或者function。在写的过程中,老蔡也曾想过,为什么像wordpress、织梦CMS都没有用这样的机制呢,但是没想出个所以然。

而今天,总算知道了,但是知道的太晚了。

在mysql中,导入procedure或者function是需要root权限的,在phpmyadmin中导入这样的函数或者过程的时候,会提示错误:

#1227 - Access denied; you need the SUPER privilege for this operation 至此开始了我昨天一天&&一晚的工作,直到现在:北京时间七点三十八分。

把所有function和procedure都改到了php文件中,换做正常语句执行。

话说很久很久以前,有个论坛为了防止灌水的人注册,有个防灌水问题:什么动物经常熬夜(答案:熊猫),有人输入“程序员”,也能够成功。