mysql连接工具给用户授权_mysql 常用工具 用户 权限

mysql

mysqlcheck/myisamchk

mysqlhotcopy

mysqldump

mysqladmin

mysql存取控制包含2个阶段:

阶段1: 服务器检查是否允许你的IP地址连接mysql服务器。 检查是否允许你从哪连接。

阶段2: 如果可以连接上。 检查你对具体的库,表,字段有没有权限。

这两个阶段使用mysql数据库的user,db,host表。如果语法涉及表,服务器可以另外参考:、table_priv表和columns_priv表

存储权限的表有:

1、user表

2、db表

3、host表

4、table_priv表

5、columns_priv表

MySQL权限经验原则:

权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:

1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。

2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。

3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。

4、为每个用户设置满足密码复杂度的密码。

5、定期清理不需要的用户。回收权限或者删除用户。

如果用Grant,revoke 或 set password 对权限表进行修改,服务器会注意到并立即重新将授权表载入内存。如果手动的修改授权表(使用insert,update 或 delete ),你应该执行 mysqladmin flush-perivileges 或 mysqladmin reload 告诉服务器在装载权限表,否则你的更改讲不会生效,除非你重新驱动服务器

mysql> show grants; #查看当前用户权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' WITH GRANT OPTION

grant命令说明

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

grant[英][grɑ:nt]   承认; 同意; 准许; 授予;

ALLPRIVILEGES是表示所有权限,你也可以使用select、update等权限

ON用来指定权限针对哪些库和表。

*.*中前面的*号用来指定数据库名,后面的*号用来指定表名。

TO表示将权限赋予某个用户。

'root'@'localhost'表示root用户,@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。注意:这里%

注意一点:有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。

IDENTIFIED BY指定用户的登录密码。

WITH GRANT OPTION这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。

备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加一个select权限,然后又给用户添加一个insert权限,那么该用户就同时拥有了select和insert权限。

创建用户

//登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为:phplamp  密码为:1234  的用户。

mysql> flush privileges;

创建用户后刷新权限

mysql> grant all on game.books to 'phplamp'@'localhost' identified by '1234';

设置phplamp用户权限

修改前查看表

f27979cbf8efaa234db3862d0b22d355.png

phplamp 用户登录

35449803f7b88357df944b8b77d82b48.png

查看数据库,及库中表 ,权限设置成功

2c78a360059d1bb42db7b5d67969ba5f.png

只授权部分权限:

mysql> grant select,insert,update,delete,create,dropon aa.* to 'custom'@'localhost' identified by '123456';

mysql> show grants for smxj1

查看指定用户的权限

mysql> show grants for smxj1@'%'

查看指定用户所有ip的权限

mysql> show grants for smxj1@'localhost'

查看指定用户localhost的权限

mysql> revoke delete on *.* from 'smxj1'@'localhost';

回收用户权限

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值