Tag: mysql connector

Java上的SSLexception:Path不与任何信任锚链接

我正在尝试使用MySQL Connector/J (版本5.1.45 )和此AWS RDS证书在Java建立与MySQL database的SSL连接: https : 5.1.45 CA-bundle.pem 但我得到以下Exception : java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors 我可以将这个Exception追溯到line 297的MySQL Connector/J class ExportControlled.java : CertPathValidatorResult result = this.validator.validate(certPath, this.validatorParams); 然后我无法继续下去,因为它进入JRE安全类,如CertPathValidator 。 由于我使用MySQL Connector/J来完成整个SSL魔术,我的双手并列,我不知道发生了什么或如何解决这个问题。 证书在MySQL Workbench和Intelli J IDEA Database ,所以我不知道为什么它现在被拒绝了。 我该如何解决?

没有为jdbc找到合适的驱动程序:mysql netbeans,* .jar包含在库中

我可以在worbanch中执行连接,但是使用相同的用户名和密码无法通过mysql数据库中的应用程序进行连接。 我检查了语法显然似乎是正确的。 我想帮助解决这个问题,因为.jar已经在Java SE项目的库文件夹中了。 打印屏幕: 屏幕1 屏幕2 错误控制台: No suitable driver found for jdbc:mysql://127.0.0.1/sakila

用户’root’@’localhost’拒绝访问(使用密码:YES)

我想连接我的本地MYSQL数据库,它与XAMP服务器一起安装。 我创建了一个新用户,即“NewUser”,其密码为“password”。 我给了这个用户所有的特权。 我使用用户“root”编写了与数据库连接的代码(此用户没有密码)。 它的连接。 像吼叫.. return DriverManager.getConnection(“jdbc:MySql://localhost/database_name”,”root”,””); 现在我编写了代码以便由另一个用户连接相同的数据库,即“NewUser”及其密码“password” return DriverManager.getConnection(“jdbc:MySql://localhost/database_name”,”NewUser”,”password”); 但它没有联系。 控制台中的错误是 java.sql.SQLException: Access denied for user ‘NewUser’@’localhost’ (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925) at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:822) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47) at sun.reflect.GeneratedConstructorAccessor207.newInstance(Unknown Source) 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:404) […]

在MySQL中持久化java LocalDate

我正在编写一个java客户端应用程序,使用:SE 8,MySQL 5.6(Connector / J 5.1),JPA 2.1。 当我尝试持有具有ID(int自动增量),date(LocalDate)的实体时。 抛出exception说: Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: ‘\xAC\xED\x00\x05sr\x00\x0Djava.time.Ser\x95]\x84\xBA\x1B”H\xB2\x0C\x00\x00xpw\x07\x03\x00\x00\x07\xDF\x03\x06x’ for column ‘date’ at row 1 MySQL(我的意思是连接器)不支持新的日期和时间API或什么。 如果是这样我该怎么办? @Entity @Table(schema=”app”) public class Run implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int id; //number of connections private LocalDate date;

使用java在mysql中创建用户

在以root身份登录后的MySQL命令行客户端中,我键入: connect mydb; grant all privileges on mydb.* to ‘admin’@’localhost’ identified by ‘pass’; 现在在Java中 ,我使用admin userid使用驱动程序成功连接到数据库。 Statement put=connect.createStatement(); //**WORKS succesfully** put.execute(“insert into mydb.emp values(100,joe)”); //**does NOT work** put.execute(“grant all privileges on mydb.* to ‘john’@’localhost’ identified by ‘pass'”); 为什么insert命令有效但grant命令永远不能通过Java工作? 请帮忙。

java.net.ConnectException:连接被拒绝

我正在尝试连接到远程服务器上的mysql数据库,每当我尝试运行代码时,它都会给我连接拒绝exception。 Connection con = null; String driver = “com.mysql.jdbc.Driver”; String url1=”jdbc:mysql://IPADDRESS:3306/”; String db = “hola”; String dbUser = “root”; String dbPasswd = “root”; Class.forName(driver).newInstance(); con = DriverManager.getConnection(url1+db, dbUser, dbPasswd); System.out.println(“Database Connection Established”); 此外,当我在端口3306上使用该IP远程登录时,它会拒绝连接。 如何确保我的服务器通过端口3306侦听连接?

通过命令行运行JAR时出错java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我有一个java程序,我正在使用mysql数据库连接代码。 我在eclipse的资源文件夹中添加了mysql-connector-java-3.0.10-stable-bin.jar和mysql-connector-java-5.0.4-bin.jar文件。 当我在Eclipse中运行程序时它运行正常。 然后我创建了我的项目的.jar文件,包括该jar文件中的所有jar文件。 但是当我在DOS上用java -jar myJar.jar命令运行我的jar文件时它会给出错误 – java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 我尝试设置mysql-connector * .jar的CLASSPATH但仍然得到相同的错误。 请帮我解决这个问题? 提前致谢 ….

com.mysql.jdbc.Driver怎么办?

当我尝试启动我们的java服务器时,我得到了这个:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 但我在脚本所在的同一文件夹中有mysql-connector-java-5.1.22-bin.jar,并在运行脚本时进行此操作: java -cp mysql-connector-java-5.1.22-bin.jar -jar AvatarServer.jar 但仍然得到这个。 该怎么办? 我使用的是CentOS服务器。 root@host [/home/nagoom/Server_Example]# java -cp mysql-connector-java-5.1.22-bin.jar -jar AvatarServer.jar ************************ ** FIRING UP SERVER! ** ************************ Running MySQLChatMessageSaver java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at database.DatabaseConnection.connect(DatabaseConnection.java:13) at items.ItemsDatabase.DownloadData(ItemsDatabase.java:35) at items.ItemsDatabase.InitializeData(ItemsDatabase.java:24) at network.SocketHandler.startListening(SocketHandler.java:84) at […]

从java中的mysql获取表元数据

有没有办法在第一次在表上执行select查询之前获取表元数据? 重述:有没有办法获取数字类型的特定行和数据列的列大小:int,tinyint,bigint等? DatabaseMetaData md = connection.getMetaData(); ResultSet rs = dbmd.getColumns(null, null, tableName, “%”); 我不能使用上面的代码,因为数字类型的COLUMN_SIZE ( int,tinyint,bigint,etc )将返回这些类型的最大允许大小。 我需要获取columnDisplaySize。 上面的代码将返回10 for int(8) ,但我需要8,我可以从表的resultMetaData获得。 那么有没有办法在不先运行select语句的情况下执行此操作。 谢谢

使用PreparedStatement插入。 如何自动递增ID?

我有一个PreparedStatement,例如: PreparedStatement preparedStatement = connect.prepareStatement(“INSERT into employee (id, time, name” + “(?,?,?)”,Statement.RETURN_GENERATED_KEYS); ResultSet tableKeys = preparedStatement.getGeneratedKeys(); preparedStatement.executeUpdate(); tableKeys.next(); int autoGeneratedID = tableKeys.getInt(1); preparedStatement.setInt(1,autoGeneratedID); preparedStatement.setTimestamp(2, new java.sql.Timestamp(new java.util.Date().getTime())); preparedStatement.setString(3, “Test”); preparedStatement.executeUpdate(); 如您所见,Employee表具有自动递增的ID。 我需要基本上使用preparedStatement自动添加它。 谁能告诉我哪里出错了并纠正我? 现在它只是给我一个与Statement相关的错误。