MySQL用户授权命令grant

  • 内容
  • 评论
  • 相关

新搭建的lnmp环境,默认的数据库权限是本地的,用户想用客户端连接是没有权限的,报如下的错误

SQLException: access denied for  @'localhost' (using password: no)

想远程连接上去,就必须给MySQL用户授权。

操作方法

首先打开连接工具(我使用的是Xshell 5),输入以下命令

# mysql -u root -p 

接着输入root的密码,然后使用use命令切换到mysql数据库,可以先查看需要更新的用户信息,本文以mysql_user为数据库用户,mysql_db为需要操作的数据库;如下

> user mysql;
> select user,host from user;
> update user set host = '%' where user = 'mysql_user';
> grant all privileges on mysql_db.* to mysql_user@'%';
> flush privileges;

做下简单的介绍,update语句是给有用户远程访问的权限,grant是给予用户所有数据库操作权限,最好不要忘记flush下数据库缓存,不然不能马上生效。

现在对grant命令做个介绍:

grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';

整个公式就是这样,当然对已经创建的用户identified by这部分是可以省略的,如果想赋予用户所有权限,则如上面的语句则可。
这里的权限到底有哪些呢,列出几个常用的

1、普通表的权限

select
insert
update
delete
create
alter
drop

2、视图的权限

create view
show view

3、存储过程,方法

execute on procedure
execute on function

4、当然也有所有的

all
版权声明:本站文章均属原创,部分图片引用自网络,如有侵权请联系博主进行删除。
转载注明:吴本清博客 - NickorWu - 吴先生原创作品:MySQL用户授权命令grant
本文地址:http://www.nickorwu.com/123.html