MySQL 授权某个用户远程登陆功能
MySQL授权某个用户远程登陆功能,及访问指定数据,指定ip可以访问等设置
一、前期准备工作
1、编辑mysql.cnf找到bind-address 127.0.0.1 将其注释掉,或者改成0.0.0.0 重启mysql
2、iptables防火墙添加3306端口或自定义个端口的入站规则保存并重启防火墙
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306
3、如果是阿里云服务器找到安全组规则添加新的入站规则端口号指定为3306或者MySQL自定义的端口号保存
二、MySQL添加用户并授权具体操作,简单举四个常用的例子
首先用root账号登陆mysql
1、授权一个新用户user1针对db-one这个库的所有操作权限(CURD),并通过密码123456登陆管理
grant all privileges on db-one.* to 'user1'@'192.168.1.1' identified by '123456'; flush privileges;
2、授权一个新用户user2针对db-two这个库的查询和更新权限并通过密码123456登陆管理
grant select,update privileges on *.* to 'user2'@'192.168.1.1' identified by '123456'; flush privileges;
3、授权一个来宾用户guest针对所有数据库的所有操作权限并且来自所有的ip都可以登陆
grant all privileges on *.* to 'guest'@'%' identified by '123456'; flush privileges;
4、授权用户user3创建表的权限,并且在192.168.1.0这个网段的ip都可以登录
grant create on db-three.* to user3@'192.168.1.%'; flush privileges;
在说下撤销权限:
语句是一样的将关键字grant替换为revoke,将to替换为from即可,例如
rovoke all on *.* from user1@192.168.1.1