Sign up ×
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.

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.