mysql 存储过程 definer 一直没找到这方面的资料,没办法,只有在这提问存储过程里的definer :root@localhost和root@%有什么区别,分别代表什么意思? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 mysql 的用户账号是 username%hostname也就是不同主机上登录的用户,即使是相同的用户名,也是不同的两个账号!oracle_study_001@localhost, [email protected] 是不同的两个账号。当您的问题得到解答后请及时结贴.http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html localhost可以理解,那这个百分号%代表什么意思呢 % 是通配符。 oracle_study_001@%则代表你在任意一台机上登录(除oracle_study_001@localhost, [email protected]), 也就说,MYSQL在用户表中如果找不到你当前登录的主机名对应的账号就用% ‘%’字符起通配符的作用,与LIKE模式匹配的含义相同,它的意思是“任何主机”。如果您根本不给出主机名部分,则它与指定“ %”的含义相同。因此,root和root@%是等价的。这是设置一个用户最容易的方法,但安全性最小。 现在是这种情况,在虚拟主机上,给了一个用户名,username ,由于自己本地开发时使用的是username@localhost,在主机上创建数据库时报错,所以改成了username@%,这样安全性不知道会不会有问题 如果我的域名是www.domain.com,要不要改成[email protected],还是使用username@%?? 你的服务器域名并不是你自己使用的主机名。要给你自己用的这台电脑授权。比如你用的PC是 xxxhost则授权给username@xxxhost 楼上的听着有点蒙如果我的网站是www.domain.com,虚拟主机商给我的用户名是username,虚拟主机商给我的数据库的IP是192.168.0.1,该如何定义存储过程的definer?如果这些信息不够,还需要什么信息?? 楼上的听着有点蒙如果我的网站是www.domain.com,虚拟主机商给我的用户名是username,虚拟主机商给我的数据库的IP是192.168.0.1,该如何定义存储过程的definer?如果这些信息不够,还需要什么信息?? [email protected]对这个用户授权 简单点的方法,就是直接给 username@% ,一了百了。复杂点的方法,从你的虚拟机上直接操作登录数据库,检查一下你登录的主机是什么。[email protected]这种是不行的,除非你的虚拟机自身的IP就是192.168.0.1,关键要看192.168.0.1这台机看你的 www.domain.com 是什么,这个由192.168.0.1的DNS设置来决定。用下面方法检查一下。mysql> select current_user(),user();+----------------+----------------+| current_user() | user() |+----------------+----------------+| root@localhost | root@localhost |+----------------+----------------+1 row in set (0.00 sec)mysql> 192.168.0.1是我写的一个例子,这个IP是固定的外网IP,是虚拟机商给的ip 192.168.0.1是我写的一个例子,这个IP是固定的外网IP,是虚拟机商给的ip CSDN有问题吧,怎么又一下发了两条 你程序所在的主机IP 或 hostname , 也就是将来你程序跑在哪儿? 数据库所在的主机地址与授权账号无关! 求助MySQL自动删除过期数据(不用event scheduler) 为什么多循环一了一次? mysql error 1005 LOAD DATA INFILE 的问题 请教关于pg编写存储过程应用时遇到的5个小问题 Mysql自定义函数变量赋值问题 MySQL出现乱码问题,请教!!! 求个MYSQL数据库的设计 在mysql中如何随机查询一定数量的数据 关于数据库表设计的问题 关于光标不能移动的问题 一个表最多可建立多少索引(mysql)
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
你的服务器域名并不是你自己使用的主机名。要给你自己用的这台电脑授权。比如你用的PC是 xxxhost
则授权给
username@xxxhost
如果我的网站是www.domain.com,虚拟主机商给我的用户名是username,虚拟主机商给我的数据库的IP是192.168.0.1,
该如何定义存储过程的definer?如果这些信息不够,还需要什么信息??
如果我的网站是www.domain.com,虚拟主机商给我的用户名是username,虚拟主机商给我的数据库的IP是192.168.0.1,
该如何定义存储过程的definer?如果这些信息不够,还需要什么信息??
复杂点的方法,从你的虚拟机上直接操作登录数据库,检查一下你登录的主机是什么。[email protected]这种是不行的,除非你的虚拟机自身的IP就是192.168.0.1,
关键要看192.168.0.1这台机看你的 www.domain.com 是什么,这个由192.168.0.1的DNS设置来决定。用下面方法检查一下。
mysql> select current_user(),user();
+----------------+----------------+
| current_user() | user() |
+----------------+----------------+
| root@localhost | root@localhost |
+----------------+----------------+
1 row in set (0.00 sec)mysql>