错误提示,大神忙帮看看怎么解决。

android 通过jdbc连接Mysql运行错误

I/System.out: [socket][/10.110.169.248:40328] connected
I/System.out: close [socket][/10.110.169.248:40328]
W/System.err: java.sql.SQLException: Unknown system variable 'query_cache_type'
W/System.err: at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
W/System.err: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
W/System.err: at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
W/System.err: at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
W/System.err: at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
W/System.err: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2483)
W/System.err: at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2441)
W/System.err: at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1381)
W/System.err: at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3790)
W/System.err: at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3227)
W/System.err: at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2235)
W/System.err: at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2017)
W/System.err: at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:779)
W/System.err: at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
W/System.err: at java.lang.reflect.Constructor.newInstance0(Native Method)
W/System.err: at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
W/System.err: at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
W/System.err: at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
W/System.err: at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:569)
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:219)
W/System.err: at com.example.administrator.myapplication1.Util.openConnection(Util.java:22)
W/System.err: at com.example.administrator.myapplication1.MainActivity$2$1.run(MainActivity.java:46)
W/System.err: at java.lang.Thread.run(Thread.java:761)
I/System.out: null
W/libEGL: [ANDROID_RECORDABLE] format: 1

8个回答

应该是mysql版本和驱动版本不匹配,更换一个就ok了。建议从低一点的开始。

应该是mysql版本和驱动版本不匹配导致的问题,建议更换低版本。

mysql版本和驱动版本不匹配导致的问题

Unknown system variable 'query_cache_type' 数据库版本问题

如下图所示,链接远程的数据库提示Can't connect to MySQL server (10060)。

遇到这个问题,我们首先做一个分析,导致这种状况出现的几种原因:

a、bind-address 对于连接的ip做了一个限定

b、数据库用户只能在指定的ip上连接

c、网络,防火墙可能导致的问题

MySQL错误:Can't connect to(10060)
我们先检查一下用户的设置,可以看出来 root用户是允许任意的机器连接的。

MySQL错误:Can't connect to(10060)
检查配置文件,发现配置文件中没有bind-address的设置,故此,判断不是这里的问题。那剩下来就是检查网络问题。

MySQL错误:Can't connect to(10060)
可以看出防火墙已经启用,我们先关闭防火墙,然后再尝试连接。

MySQL错误:Can't connect to(10060)
MySQL错误:Can't connect to(10060)
再次验证,即可发现数据库可以成功链接了。

MySQL错误:Can't connect to(10060)

如下图所示,链接远程的数据库提示Can't connect to MySQL server (10060)。

遇到这个问题,我们首先做一个分析,导致这种状况出现的几种原因:

a、bind-address 对于连接的ip做了一个限定

b、数据库用户只能在指定的ip上连接

c、网络,防火墙可能导致的问题

MySQL错误:Can't connect to(10060)
我们先检查一下用户的设置,可以看出来 root用户是允许任意的机器连接的。

MySQL错误:Can't connect to(10060)
检查配置文件,发现配置文件中没有bind-address的设置,故此,判断不是这里的问题。那剩下来就是检查网络问题。

MySQL错误:Can't connect to(10060)
可以看出防火墙已经启用,我们先关闭防火墙,然后再尝试连接。

MySQL错误:Can't connect to(10060)
MySQL错误:Can't connect to(10060)
再次验证,即可发现数据库可以成功链接了。

MySQL错误:Can't connect to(10060)

结案,已解决问题,参照大神意见,换了jdbc驱动,mysql 版本5.1.73,jdbc驱动5.1.6.

query_cache_type这个变量有问题

cry8801
cry8801 在/etc/my.cnf里没有这个变量,增加进去后,登录不了mysql了,2002错误
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!