开发者社区> 问答> 正文

mac,mysql,jdbc链接问题?报错

jdbc链接mysql数据库在window上就没有问题,但是在mac上就出现了问题,代码如下:

Connection conn = null;

//String sql;

// 加载数据库驱动

Class.forName("com.mysql.jdbc.Driver");

// 获取数据库连接

conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/test",

"AckMan", "wangbingan");

报错如下:

Exception in thread "main" java.sql.SQLException: null,  message from server: "Host '192.168.1.156' is not allowed to connect to this MySQL server"

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1110)

at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)

at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)

at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)

at java.sql.DriverManager.getConnection(DriverManager.java:582)

at java.sql.DriverManager.getConnection(DriverManager.java:185)

at com.wangbingan.jdbc.JdbcUtil.main(JdbcUtil.java:15)

我不知道为什么拒绝链接,搞了2天了,烦,请大神帮看下 小弟弟谢过了先!

展开
收起
爱吃鱼的程序员 2020-06-12 10:43:27 1133 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    试一下把localhost换成127.0.0.1看看回复 @godfather1103:我下午也研究了一下localhost和127.0.0.1的区别。我在windows8上用localhost就可以,但是在mac上只能用ip,而且在windows8上还改过hosts文件.大神厉害,我关注你了!谢谢了回复 @KorelAK:mysql默认只允许127.0.0.1的本地回环地址访问,一般来说localhost就能解析成127.0.0.1;但是有些情况下,比如修改了hosts文件,就会导致localhost无法解析成127.0.0.1,所以连接就被拒绝了 @godfather1103好了,谢谢啊,还有个问题就是为什么不能用localhost,只能用127.0.0.1回复 @KorelAK:用户名和密码有问题,在终端中验证一下mysql的用户名和密码Accessdeniedforuser'ak'@'localhost'(usingpassword:YES)出现了这个?

    开启MySQL的远程访问即可

    回复 @bhpx:恩,Thanks!回复 @KorelAK:网上教程很多,你自己找下,难度不大。怎么打开,我对mac不是很熟!
    2020-06-12 10:43:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像