Nginx服务器安全设定之:phpmyadmin账户权限设定

默认的phpmyadmin的账户用户名是root ;其权限为全局权限,可访问控制所有phpmyadmin当中的数据库及其他用户,这是很危险的。

而且,在同一个服务器上不同网站用的不同数据库,为安全起见应该是互相独立的。

如何让各自网站使用的数据库账户权限独立、即:website 1 的数据库账户登入phpmyadminh后,只能显示和管理该网站数据库。

Follow me

  1. 以root账户登入phpmyadmin,建立具有root全局操控权限的另外的一个账户(用户名名尽量长一点为字母数字和下划线组合;密码尽量复杂),比如:
    用户名设定为:ZSwdSJK_1290Rootr
    密码设定为:#@¥……&fdgerere=E45$EFDWWsddsd-349)54WE
  2. 退出root账户,改用刚才建立具有root全局权限的账户ZSwdSJK_1290Rootr登入
  3. 为各自网站单独设立对应的数据库用户,如:为website 1设立dbuser_website1, 不要给予任何的全局权限---------------------------重要!;
  4. 为各自网站单独设立对应的数据库库,如:为website 1设立db_website1;然后编辑dbuser_website1的权限,在数据库关联选项中选择db_website1,即指派dbuser_website1管理db_website1;在该数据管理权限当中仅选中左侧的“数据”和“结构”所有选项(重要!)、保存设定、转到phpmyadmin的权限界面,点选下方的“重新载入权限”-------------重要!
    刷新页面。

    则此时:属于website 1的数据库账户:dbuser_website1和数据库db_website1实现独立关联关系:即,当使用dbuser_website1账户登入phpmyadmin后,只显示db_website1数据库。

  5. 对之前已有的网站数据库进行数据导出,再建立对应数据库+数据库账户;然后修改网站数据库联接信息为最新的;当确认无误后
  6. 删除之前的root账户,以及除了ZSwdSJK_1290Rootr之外的其他root权限账户

执行以上所有动作之前,请自行备份服务器整体数据(如linode backup 服务)

分类: