1、安装完MySQL后

修改root用户密码

    5.5以前,rpm包安装完MySQL后,root用户密码为空

    5.6中,rpm包安装完MySQL后,会随机生成一个root密码,保存在/root/.mysql_secret

    5.7以后,使用mysqld --initialize初始化时,默认会自动生成随机密码,并且不创建除root@localhost 外的其他账号,也不创建test库;

2、正确授权

    mysql库中有4张权限表,user、db、tables_priv、columns_priv,分别对应用户密码、用户对数据库的权限、对表的权限、对列的权限。

    当一个用户向MySQL发起请求时,首先会从user表中验证host、user、password,然后再依次验证db、tables_priv、columns_priv,验证过程中,如果db表中对应权限为Y,则此用户对某个库的权限全为Y,将不再验证tables_priv和columns_priv。

对于MySQL中的账户权限相关的安全配置,总结如下:

    针对每个网站建立一个单独的账户

    为每个网站单独建立一个专属数据库

    按照user->db->tables_priv->columns_pri的顺序进行细粒度的权限控制

    为每个用户单独配置一个专属数据库,保证当前用户的所有操作只能发生在它自己的数据库中,防止SQL注入发生后,***