主题:
jdbc连接中 如何强制规定使用localhost连接(因为虚拟主机只认localhost不支持127.0.0.1)
事件经过:
昨天租了一个虚拟主机,主机上面的MYSQL数据库只能通过localhost来访问,这本来也不是什么问题。
但是,程序上传到虚拟主机空间上连数据库却出现了问题,刚开始用的是hibernate,提示数据库连接失败。以为是主机不支持hibernate,遂更换成了手写的JDBC连接,这回得到的异常是 Access denied for user 'xxxxxx'@'127.0.0.1'
很显然,是数据库登录错误。
顺带把连接写一下
DBDRIVER = "com.mysql.jdbc.Driver";
DBPATH = "jdbc:mysql://localhost:3306/xxxxxx";
USERNAME = "xxxxxx";
PASSWORD = "aabbccddee";
上面的连接 通过程序连接的时候被转为了127.0.0.1 但是 虚拟主机上面是不支持127.0.0.1的
这个错误是本地mysql没有连接权限的错误吧,跟localhost 没啥关系。
您好,127.0.0.1应该是jdbc链接数据库的默认IP,和是不是localhost无关,另外,如果楼主用的是mysql数据库,一般是默认仅支持本地连接的。
输入SQL语句:
SELECT * FROM Tmysql.user
可以查看所有用户权限
你问下平台客服,我买的虚拟主机,数据库的连接不是localhost或者127.0.0.1,而是单独的地址,如果有问题,看我个人简介来群问吧.
检查一下虚拟机 host文件的配置,是不是localhost和127.0.0.1对应
检查一下虚拟机 system32-drivers-host文件的配置,localhost默认就是127.0.0.1