Поэтому я настраиваю свой новый сервер после того, как мой старый умер из-за сбоя сервера. Единственный валун, в который я попал, - это установленный JDBC. На моем сервере работает программа Java, которая изначально отлично работала со старым сервером. Я перейду к сути и покажу вам, в чем проблема ... Вот трассировка стека, когда я пытаюсь подключиться, используя 127.0.0.1, а также localhost:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1049)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1890)
com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3523)
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2386)
Довольно расплывчато, не правда ли?
Это код, который я использую для подключения к серверу (который отлично работает на моем старом сервере):
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/schema?user=user_name&password=pass_word");
Вот некоторая информация о моем сервере: Сервер работает под управлением Debian Squeeze, MySQL настроен нормально, потому что phpMyAdmin работает отлично, Java версии 1.5.0, JDBC Connector / J версии 5.1.14, CLASSPATH установлен в правильный каталог, порты правильно перенаправлено 3306.
Мои последние средства - это разрешения, которые я не совсем уверен, как исправить эти критерии. Итак, что мне не хватает для тех, кто правильно подключил Java-сервер к JDBC? Как я уже упоминал, этот Java-сервер работал на моем старом сервере (но на нем был запущен Debian Lenny). Спасибо!
Как показано в исключении, ошибка находится в синтаксисе SQL, вероятно, в URL-адресе JDBC, если вы читаете документация вы можете видеть, что если порт не указан, двоеточие также может быть опущено, попробуйте следующее:
.getConnection("jdbc:mysql://localhost/schema?user=user_name&password=pass_word")
Надеюсь, что это работает.