今天忽然发现kali下的mysql登录的时候就算不指定用户名和密码也能登录进去,而且是拥有和root一样的权限。这就很震惊了,尝试过重置密码,修改my.cnf文件都不能解决这个问题。最后发现是权限的问题。就是有一个权限设置是如果从本地登录MySQL的话可以直接跳过密码验证,把这个权限改一下就好了。参照设置远程访问MySQL的步骤,只需要在MySQL命令行下执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'youpassword' WITH GRANT OPTION; #youpassword填你的密码
上面那个命令关键部分在identified by xxx没修改的时候那个xxx的位置好像是via unix socket还是啥,改完以后就变成了通过你的密码来验证登录
然后flush privileges刷新一下,退出重新登录的时候就需要密码验证了,如果还是不行的话,说明是其他原因了。