MySQL的安全管理

当服务器安装完MySQL之后就需要对其进行帐号分配了。我们需要确保哪些帐号能本地访问,哪些帐号能其他机器访问,这些帐号又都有哪些的权限。

比如线上数据库开发者们具有读表的权限,而DB们读写都有权限,根据用户登录的地点限制访问权限等。

下面介绍下具体如何进行MySQL安全的管理。

注意:在对MySQL的所有操作中尽量不要使用root帐号(仅在不能用其他管理帐号时使用)

可以在mysql数据库中user表查看所有用户的信息

USE mysql;
SELECT user FROM user;

创建一个密码为pwd1的user1帐号:

CREATE USER user1 IDENTIFIED BY 'pwd1';
也可以直接插入行到user表中,不过不建议这么做。

RENAME USER user1 TO newuser;--用户重命名
DROP USER user1;--删除帐号

创建帐号之后就要对帐号的访问权限进行设置了,首先使用下面的语句查看下访问权限:

SHOW GRANTS FOR user1;
使用GRANT语句给用户赋予权限。

GRANT SELECT ON db1.* TO 'user1'@'%';
上面的语句是给user1用户赋予数据库db1中所有表的读权限。%是用户在任何地方登录(任何IP)下都能访问。
GRANT的反操作是REVOKE:

REVOKE SELECT ON 'db1'.* FROM 'user1'@'%';
所有的权限在下图列出:

  

不过这样有个问题出现,当某个数据库或表删除时(用DROP语句),相关的访问权限仍然存在,而且如果将来重新建立该数据库或表时,这些权限仍然起作用。


更改用户密码如下(不指定用户名i时即修改当前用户密码):

SET PASSWORD FOR user1 = Password('new');
SET PASSWORD = Password('new');
分配好权限后刷新下:

FLUSH RIVILEGES;

注:当配好账户之后,发现用其他机器使用客户端还不能连上数据库,看下防火墙端口是否打开,因为有的时候就是这里给忘了。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值