MYSQL在my.ini文件中添加skip-grant-tables启动参数的副作用(安全隐患)
运行环境:Mysql5.7.20.
为了说明情况,首先创建一个普通用户,名字'wxf',密码123。如图:
可以看到,仅授权查询权限。现在退出root用户,使用创建的用户登陆mysql。如图:
可以看到,正常登陆。现在执行相关操作,发现奥秘。如图:
明显UPDATE操作不能成功。现在,就是见证奇迹的时刻了,在my.ini文件中添加skip-grant-tables启动参数,然后重启MYSQL服务。如图:
然后,使用该用户重新登录MYSQL,查看相关权限。如图:
明显没有插入和更新权限,现在我们尝试更新和插入数据到刚才的表格。如图:
可以看到,插入和更新都成功了。但是并没有为该普通用户授权UPDATE和INSERT,如果是这样,那就会产生很大的安全隐患。
skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。
一般的使用情况是当root用户密码丢失时以此参数作为启动项。所以,慎用之。