mysql添加用户以及设置权限,IP白名单

首先项目中肯定不能使用root账户,root用户只有运维人员才能使用,因此需要创建一个用于项目中的账户。

create user 'userchpay'@'%' IDENTIFIED BY 'hyok^12(--m$pyuik';

一个新创建的用户没有任何权限,不能进行任何操作。

现在需要它只能对业务数据库进行增,删,改,查

主要的权限

ALL: 所有可用的权限
CREATE: 创建库、表和索引
LOCK_TABLES: 锁定表
ALTER: 修改表
DELETE: 删除表
UPDATE: 更新数据
INSERT: 插入表或列
SELECT: 检索表或列的数据
CREATE_VIEW: 创建视图
SHOW_DATABASES: 列出数据库
DROP: 删除库、表和视图

赋权语句

GRANT <privileges> ON <database>.<table> TO 'userchp'@'%';

<privileges> 代表着用逗号分隔的权限列表,可以使用all privileges赋予全部权限。

如果你想要将权限赋予任意数据库(或表),那么使用星号(*)来代替数据库(或表)的名字。例如

grant update,delete,insert,select ON chpay.* TO 'userchpay'@'%';

%表示所有IP都可以登录,可以指定IP才能登录,在mysql中一对'A'@'B'为一条记录,也就是一个用户,例如
grant all privileges ON chpay.* TO 'userchpay'@'111.111.111.111'; 会提示用户'userchpay'@'111.111.111.111'不存在,因此不管是换了用户名还是换了IP都是算新用户,可以直接使用命令来创建用户,密码和授权
grant all privileges on chpay.* to 'userchpay'@'111.111.111.111' identified by 'yourpassword' with grant option;

验证给用户赋予的权限

show grants for 'userchpay'@'%';

移除权限

revoke <privileges> ON <database>.<table> FROM 'userchpay'@'%';

刷新权限使其生效

FLUSH PRIVILEGES;

删除用户

drop user 'userchpay'@'%';

现在,我们如果想给userchpay增加登录的IP白名单,也就是只有指定的IP可以登录进,要怎么做呢?

打开mysql库下的user表就知道,Host与User是一对的,然后后面跟着一堆权限项目,所以我的操作如下

先要将这一对删掉
drop user 'userchpay'@'%';

然后创建新的一对,并设置上权限,如果有多个IP,那么就多操作几次即可。
create user 'userchpay'@'111.111.111.111' IDENTIFIED BY 'hyok^12(--m$pyuik';
grant update,delete,insert,select ON chpay.* TO 'userchpay'@'111.111.111.111';

你甚至可以直接操作mysql下的user表来达到效果。

最后
FLUSH PRIVILEGES;

此处需要注意一点,默认的 root 是包含 127.0.0.1localhost两个记录的,我们在本机命令行mysql -uroot -p只能匹配到localhost,而 mysql -h127.0.0.1 -uroot -p只能匹配到127.0.0.1,处于方便考虑,root + localhostroot + 127.0.0.1都应该保留。

修改账户密码

set password for 'root'@'localhost' = password('hyok^12~--m$pyuik');
set password for 'root'@'127.0.0.1' = password('hyok^12~--m$pyuik');
set password for 'root'@'%' = password('hyok^12~--m$pyuik');
flush privileges;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值