今天碰到一个很头痛的问题,用ODBC想给一个root用户赋予grant的权限,然后再利用此root用户给另外一个用户赋权限,找了许久,找到如下语句:
update mysql.user set grant_priv = 'Y' where host='%' and user = 'root';
flush privileges;
GRANT SELECT,INSERT,DELETE,UPDATE ON CMS_20.* TO cpms@'%' IDENTIFIED BY 'cpmsuser';
从上往下依次执行,在Mysql的查询分析器中,没有任何问题,但是用ODBC来招待,有时成功有时不成功,搞了我花一下午的时间,上网找了一下资料,原来全局权限的改变和口令改变在下一次客户连接时生效,需要重新登录才行。后来搞了两个ODBC连接才把此问题解决!一个ODBC执行:
update mysql.user set grant_priv = 'Y' where host='%' and user = 'root';
flush privileges;
别一个ODBC执行:
GRANT SELECT,INSERT,DELETE,UPDATE ON CMS_20.* TO cpms@'%' IDENTIFIED BY 'cpmsuser';