我在Linux上使用 --skip-networking 选项使用MySQL 。
尝试使用JDBC将基于J2EE的应用程序(使用servlet)连接到MySQL数据库。
使用 禁用* 了 --skip-networking 选项的MySQL时,我以以下方式连接到数据库: *
Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","myuser","mypassword");
启用 --skip-networking 选项后,我尝试将其连接为:
Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase","myuser","mypassword");
但这似乎不起作用,当我尝试连接到应用程序中的数据库时,出现 java.lang.NullPointerException 。
注释掉 --skip-networking 选项并使用旧的JDBC语句后,我可以连接到数据库。
注意 -我能够通过启用 --skip-networking 选项的命令行mysql客户端连接到数据库。
谁能告诉我如何 从JDBC 连接到数据库?我尝试搜索它,但无法找到满意的答案。提前致谢。
您根本无法做到这一点:MySQL JDBC驱动程序仅支持TCP / IP,并且-在Windows上-支持连接到数据库的命名管道。因此,指定--skip- networking将完全不允许您使用JDBC MySQL Connector / J。
--skip- networking
另请参见http://lists.mysql.com/java/8749:
Java本身不支持Unix域套接字,但是由于您在Windows上,因此可以使用命名管道[..]
上面帖子中的死链接现在是http://dev.mysql.com/doc/connector-j/en/connector-j-reference- configuration- properties.html