这是关于MySQL安全性的一篇文章,简单介绍一下如何确保MySQL主机的安全性。
当我们考虑将MySQL主机连接到互联网的时候,应该避免一些常见的安全错误,其实这也是所有连入互联网主机应该考虑的事情。通常我们需要考虑一套完整的保护主机的方案,包括遭遇攻击,篡改及拒绝服务等在内一系列的内容。
MySQL的安全性是基于ACL(access control list)实现的 ,包括全部的连接、查询以及用户执行的其他各种操作,并且支持从客户端到服务器之间的SSL加密连接。
保证安全性的重要原则
一、不要授予'root'用户以外的任何用户访问mysql.user表的权限。
MySQL将权限信息存储在系统数据库mysql里面,非root用户访问mysql.user表会获取全部的用户信息,为系统带来风险。
二、确保用户拥有适当权限。使用GRANT和REVOKE语句执行控制访问MySQL。尽可能减少权限的范围,坚持权限最小化原则。
确认以下几点,以判断当前用户是否拥有适当的权限:
1,执行mysql -u root 如果不需要使用密码即可登陆,则任何人都可以使用'root'用户并包含全部权限访问MySQL服务器。如果'root'用户没有设置密码,请为它设置一个复杂度高的密码。
2,使用SHOW GRANT语句检查所有的账户权限,如果包含了不必要的权限,使用R