mysql创建用户,并给用户授权

创建用户

CREATE USER 'userName'@'IP' IDENTIFIED BY 'password';

说明:
userName:新建用户的用户名;
IP:指定此用户可以在哪些ip登录本数据库,如果设置为所有地方都可以登陆则将IP替换为‘%’,
password:此新建用户的登录密码;

为root用户添加远程grant权限

查询root用户的权限
SELECT * FROM mysql.`user`

如果下图中“关键信息”为N,则需要执行下面“为root用户赋予远程grant权限”的sql
在这里插入图片描述

为root用户赋予远程grant权限
UPDATE mysql.user SET Grant_priv = 'Y' WHERE HOST='%' AND USER = 'root'
FLUSH PRIVILEGES;

给root用户添加给指定用户操作指定表的权限

查询root用户对指定表的grant权限
select * from mysql.tables_priv

看下图中table_priv列,是user、ip、table的权限数据,如果远程操作时host为%的root对某表的权限中包含grant,可以略过下一步“给root用户赋予grant指定表的权限”,否则需要执行下一步才能给指定用户赋予指定表的相关权限
在这里插入图片描述

给root用户赋予grant指定表的权限
insert into mysql.tables_priv VALUES
('%','数据库名','root','表名','root@%',SYSDATE(),'Select,Insert,Update,Delete,Grant','');
FLUSH PRIVILEGES;

说明:
上面代码中root指的是当前用户,当然当前用户必须是已经被赋予grant权限的用户才行;
root@%是指当前用户在那个ip做的此操作,%就是当前ip;
Select,Insert,Update,Delete,Grant:是被授予的权限,包括但不限于这几类,但是Grant必须有;

给指定用户赋予操作指定表的权限
GRANT SELECT,INSERT,UPDATE,DELETE ON 数据库名.表名 TO '用户名'@'ip';

说明:
上面代码中“SELECT,INSERT,UPDATE,DELETE”只是所有权限中的几种,所有权限请看下图;
用户名’@'ip则是指被授权的用户的用户名以及被授权的ip,即该用户可以在那个ip下拥有上面被赋予的权限;

在这里插入图片描述如上图所示,一个表的权限有这么多种,通过navicat右键指定的表,然后选择设置权限即可看到上图;当然此时就可以通过点击“添加权限”按钮 为指定用户赋予指定的权限
在这里插入图片描述
创建用户只能访问指定库

CREATE DATABASE zhidingku;
 
CREATE USER 'testuser'@'%' IDENTIFIED BY 'asd123';
 
GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `zhidingku`.* TO 'testuser'@'%';
 
GRANT GRANT OPTION ON `zhidingku`.* TO 'testuser'@'%';

上面创建了用户testuser,密码是asd123,用户接入数据库之后,只能对zhidingku这个库具有全部的访问权限,不能访问其他的数据库,有时候对一个Mysql实例需要分开创建若干个库,不同的人员只能访问其对应得数据库,这样就能排上用场了;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值