Help with Windows 10 & Subsonic using MYSQL DB

Need help? Post your questions here.

Moderator: moderators

Help with Windows 10 & Subsonic using MYSQL DB

Postby hogfan » Fri Aug 10, 2018 8:48 pm

Hello, my Jetty DB has gotten corrupted and while I'm having to reconfigure everything from scratch, I want to go ahead and configure Subsonic to use an external MYSQL DB as I'm already running a MySQL server on the machine that is hosting it. I have followed all the directions located at the link below, but cannot get this to work.

http://www.subsonic.org/pages/database.jsp

I deleted the "db" folder in "C:\Subsonic", & I updated the "C:\Program Files (x86)\Subsonic\subsonic-service-.exe.vmoptions" file as follows:

Code: Select all
-Xmx150m
-verbose:gc
-Dsubsonic.host=0.0.0.0
-Dsubsonic.port=4040
-Dsubsonic.httpsPort=0
-Dsubsonic.contextPath=/
-Dsubsonic.db=jdbc:mysql://localhost:3306/subsonic?/DATABASE?user=subsonic&password=subsonic


In MySQL, I created a new database named "subsonic" & created the user "subsonic".

Whenever I start the Subsonic service back up I'm getting "HTTP Error: 503" Service unable error. Looking at the subsonic log it appears JDBC is unable to connect to the database. What am I missing here? Subsonic is running on the same host machine as MySQL and is using the default port 3306. Here is the contents of my Subsonic LOG file.

Code: Select all
[2018-08-10 12:15:19,228] INFO MySqlDaoHelper - Checking database schema.
[2018-08-10 12:15:19,616] INFO MySqlSchema61 - Database table 'version' not found.  Creating it.
[2018-08-10 12:15:19,626] ERROR MySqlDaoHelper - Failed to initialize database.
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server.)
   at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:429)
   at net.sourceforge.subsonic.dao.schema.mysql.MySqlSchema61.execute(MySqlSchema61.java:44)
   at net.sourceforge.subsonic.dao.DaoHelper.init(DaoHelper.java:27)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
   at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
   at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
   at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
   at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
   at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
   at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
   at org.mortbay.jetty.Server.doStart(Server.java:217)
   at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
   at net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.deployWebApp(SubsonicDeployer.java:132)
   at net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.<init>(SubsonicDeployer.java:64)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
   at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
   at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
   at net.sourceforge.subsonic.booter.Main.<init>(Main.java:24)
   at net.sourceforge.subsonic.booter.Main.main(Main.java:63)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
   at com.exe4j.runtime.WinLauncher$2.run(Unknown Source)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server.)
   at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
   at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
   at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
   at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
   at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
   ... 80 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
   at com.mysql.jdbc.Util.getInstance(Util.java:408)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
   at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2330)
   at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
   at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
   at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
   at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
   at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
   at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
   at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
   at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
   ... 84 more
Caused by: java.lang.NullPointerException
   at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:2997)
   at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1934)
   at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1863)
   at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
   at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
   at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
   ... 98 more

[2018-08-10 12:15:19,733] INFO SettingsService - Java: 1.8.0_111, OS: Windows 10


Any assistance is appreciated!
Image
Image
hogfan
 
Posts: 28
Joined: Tue Jan 25, 2011 2:31 am
Location: Little Rock, AR

Re: Help with Windows 10 & Subsonic using MYSQL DB

Postby hogfan » Sat Aug 11, 2018 5:08 am

I do not see it anywhere in the Subsonic documentation, but do I need to manually install the MySQL JDBC connector on my machine?
Image
Image
hogfan
 
Posts: 28
Joined: Tue Jan 25, 2011 2:31 am
Location: Little Rock, AR

Re: Help with Windows 10 & Subsonic using MYSQL DB

Postby hogfan » Sat Aug 11, 2018 4:16 pm

Does nobody have a working MySQL database with Subsonic that can help? I have some programming background, but I'm not a Java developer. I've tried placing the file mysql-connector-java-8.0.12.jar in the C:\Subsonic folder as well as C:\Program Files (x86)\Subsonic folder, but I"m still getting the same error in the subsonic log.

I've updated my connection string in subsonic-service.exe.vmoptions to:

-Dsubsonic.db=jdbc:mysql://localhost:3306/subsonic?user=subsonic&password=subsonic&characterEncoding=UTF-8

Not sure what I need to do to get the DB connector working. I hate Java. :)
Image
Image
hogfan
 
Posts: 28
Joined: Tue Jan 25, 2011 2:31 am
Location: Little Rock, AR


Return to Help

Who is online

Users browsing this forum: No registered users and 1 guest