前段时间按网上教程在windows系统虚拟机上装了一个mysql,但是安装成功后,发现只能在虚拟机上登录,无法通过远程登录。
而且在本机,也只能不指定-h时才可以登录,如果用mysql -u root -h 127.0.0.1,也会登录失败。
报错信息:ERROR 1130 (HY000): Host '127.0.0.1' is not allowed to connect to this MySQL server
127.0.0.1登录失败的原因,我查了一下网上资料,知道可能是由于mysql里面没有root@127.0.0.1的用户数据,只有root@localhost的用户数据,所以登录失败。
但即使我给系统加上了root@%的用户,并且赋了登录权限,还是登录不成功。
继续按网上的资料,确认防火墙也是打开状态,密码插件也改回旧版本的mysql_native_password,权限也刷新过,甚至服务也重启过,但还是不能登录。
当时查不到原因,只能暂时放弃。
这几天放假,我突然想到一个问题:我的mysql并不是安装在默认目录的,而且配置文件也不是放在mysql的安装目录,但我在启动mysql服务时,只使用了net start mysql,并没有指定配置文件目录,那么它是怎么发现我使用哪个配置文件呢?
进去service.msc,检查了一下mysql服务的详细信息,发现启动时确实是没指定配置文件的。于是猜测会不会是由于安装的配置文件(我安装时有指定配置文件)与启动配置文件不一样导致数据库出现异常。
尝