新接触mysql5,对用户管理这一部分操作很是不熟悉,添加的用户不是没有登录的权限,就是创建的procedure无法
访问。摸索了半天,把找到的资料总结在这里。
首先是用户的创建,可以用grant
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
也可以直接插入:
INSERT INTO user (Host,User,Password)
-> VALUES('localhost','dummy',PASSWORD('some_pass'));
FLUSH PRIVILEGES;
对于存储过程,如果是root用户创建的,其他用户则无法访问,可以用如下的方式来解决:
if your jdbc calls to stored procedures are returning
java.sql.SQLException: Driver requires declaration of procedure to either contain a '\nbegin' or '\n' to follow argument declaration, or SELECT privilege on mysql.proc to parse column types.
check that your user can
mysql> SHOW CREATE PROCEDURE `database`.`procedure_name`\G
if not...
mysql> GRANT select ON mysql.proc to user@'host' IDENTIFIED BY 'passwd';
注意:identified by 'passwd' 的用途是修改密码,如果不想修改密码的话就不要加这句话。