Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to use an ETL (in my current case, the free version of Talend). I've successfully set up a MySQL on Amazon RDS, logged in through the MySQL Workbench for Mac, and uploaded my company's Salesforce Tables into the database, using a text file to create the fields/tables.

That has all worked out well. I've actually been using CDIR security records every time I log in, using my current IP address. I know its not perfect, but its been working so far.

The trouble arises when I try to use an ETL to transfer data in the form of a 'job'. I get this error, no matter what I try to do:

[statistics] connecting to socket on port 3700
[statistics] connected
Exception in component tMysqlOutput_1
java.sql.SQLException: Access denied for user '(Username)'@'c-(IPAddress)' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(
    at com.mysql.jdbc.MysqlIO.secureAuth411(
    at com.mysql.jdbc.MysqlIO.doHandshake(
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(
    at com.mysql.jdbc.ConnectionImpl.createNewIO(
    at com.mysql.jdbc.ConnectionImpl.<init>(
    at com.mysql.jdbc.JDBC4Connection.<init>(
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
[statistics] disconnected
    at java.lang.reflect.Constructor.newInstance(
    at com.mysql.jdbc.Util.handleNewInstance(
    at com.mysql.jdbc.ConnectionImpl.getInstance(
    at com.mysql.jdbc.NonRegisteringDriver.connect(
    at java.sql.DriverManager.getConnection(
    at java.sql.DriverManager.getConnection(
    at sqmigration.sfdcmigration_0_1.SFDCMigration.tSalesforceInput_1Process(
    at sqmigration.sfdcmigration_0_1.SFDCMigration.runJobInTOS(
    at sqmigration.sfdcmigration_0_1.SFDCMigration.main(
Job SFDCMigration ended at 16:17 16/09/2012. [exit code=1]

Any Ideas what in the world is happening here? Is it because of my Users? I'm logging in as the master account, that I set through the AWS management portal. I tried creating new users using phpMyAdmin (running on my local machine, with MAMP, connected to the database), but I was getting errors there as well granting privs.

Sorry if this is remedial. Just trying to learn how this stuff works and help my company!



share|improve this question
If you can connect to RDS, run this query : SELECT CONCAT('''',user,'''@''',host,,'''') from mysql.user;. Do you see ``username@'%' ? – RolandoMySQLDBA Sep 26 '12 at 20:22
Did you set up the DB Security Group when you created the MySQL RDS Instance ??? – RolandoMySQLDBA Sep 26 '12 at 20:31
I updated the security group (simply the default) with my local machine's IP address. I think it is strange that I can be connected through the workbench/phpMyAdmin/etc, but Talend is then getting and authentication error. I'll try the code snippet you sent over ASAP. – CDD Sep 27 '12 at 12:36
I ran the script - I got all of the users, of which there is the master user, displayed as "username'@'%' , along wiht a few other usernames that I have tried to create, and rdsadmin. If my master user is displayed as '@'%', that means it can connect from any host, correct? – CDD Sep 27 '12 at 12:48
You should be able to. Please review the DB security group you defined the instance with. Check the CIDR within it. – RolandoMySQLDBA Sep 27 '12 at 13:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.