mysql的用户权限

新接触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' 的用途是修改密码,如果不想修改密码的话就不要加这句话。

你可能感兴趣的:(sql,mysql,jdbc)