简体   繁体   中英

connecting java application with online hosted mysql database


I have build an application in java, application is one and will be used on 3 different systems,
And therefore the database of that application must be online to keep all 3 applications with up to date database...

In starting I developed my application based on localhost (wampserver) and used database in "PhpMyAdmin", and hopefully application is fully developed and ready to run.. but the problem is online database connectivity! I have uploaded my database on a Site in PhpMyAdmin and they provided below information:在此处输入图片说明

and the for connecting my app to this DB is:

String url = "jdbc:mysql://fdb12.biz.nf:3306/";
String dbName = "1738412_wstore";

String driver = "com.mysql.jdbc.Driver";
String userName = "1738412_wstore"; 
String password = "Password";  

Class.forName(driver).newInstance();
    Connection conn = DriverManager.getConnection(url+dbName,userName,password);

now when I run my application it shows below error:在此处输入图片说明

I dont know what the problem is there, please help me out through this..

I faced the same issue and the following helped me to solve.

http://support.hostgator.com/articles/cpanel/how-to-connect-to-the-mysql-database-remotely

Hopefully, your hosting provider should have same type of cpanel to configure MySQL database for remote connections.

  1. Check for firewall.
  2. Check if mysql is running.

2 things you can try:

  1. Install MySql client locally on your machine and connect like: mysql -h fdb12.biz.nf -u 1738412_wstore -P<password>

This should work before you try anything else.

  1. Make sure you're using the right imports in your code. See [here][1].

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;

I think your DB server doesn't allow remote connections.

Try hosting in:

http://www.freesqldatabase.com/freemysqldatabase/

It's free and allow remote DB connections.

Good Luck!!!

Considering the Biz.nf FAQ:

How can I connect to my MySQL/PostgreSQL database? What settings should I use for my script/software?

MySQL/PosgreSQL database connection can be established with script/software hosted only on your web hosting account (meaning no remote access is allowed due to security reasons). The following settings are needed:

So, since biz.nf does not allow remote access, it will be difficult for you to interact with their MYSQL server for your application.

The best solution and the most simple is probably to find a new provider which will allow the remote access. Heroku.com works very well.

If you really want to use the biz.nf services, it will be more difficult.

It's not a script or credential problem.

Maybe you can (probably not), try to login by SSH to configure your server to enable remote access to your MYSQL database server.

From the free plan, you will not have any access to the online SSH tool and you will need to configure your domain for a SSH connection.

In SSH, and it probably will not work considering the FAQ, you could try to simply modify your /etc/mysql/my.cnf file by commenting the bind-address line wich by default only allows local access (127.0.0.1). Then, try to restart your MYSQL service with: a simple service mysql restart to verify if the remote connection works.

If the remote connection still doesn't work after this, the only way I can find for the moment (unless you completely change your hosting provider) would be to create a kind of API hosted directly on the server and your Java program could interacts with your services (In JSON, by example).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM