Take the 2-minute tour ×
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 have a database that I am trying to recreate at my web host. I used mysqldump to create a sql script. My web hosting company, IPage, has a hosted mysqladmin site where I am supposed to be able to import my script. When I run the script I get this error:

#1044 - Access denied for user 'myuser'@'10.%' to database 'mydatabase'

This user has full access to the database. Do I need to make some edits to my SQL script to get this working? Or is this a problem at my hosting site?

Thanks!

share|improve this question

2 Answers 2

up vote 2 down vote accepted

The message itself looks like an authentication issue.

Here is what you should do: If you can connect to the hosting company's mysql database from the mysql client, run this command:

SELECT USER() RequestedUserLogin,CURRENT_USER() AllowedUserLogin;

What will these functions give you ?

  • USER() reports how you attempted to authenticate in MySQL
  • CURRENT_USER() reports how you were allowed to authenticate in MySQL

It's the second function you need to be concerned with because it says you have the same user permissons as AllowedUserLogin.

@Abdul's answer reveals a deeper issue: You created the mysqldump which has the command to create the database. When you mysqldump with the --databases option, the create database mydb; is inserted before the use mydb;. You can hide the create database mydb; by doing

mysqldump -u... -p... --no-data --databases mydb > mydbschema.sql
mysqldump -u... -p... --no-create-info      mydb > mydbdata.sql

This will place the database and table creation statements in mydbschema.sql while the bulk INSERTs are placed in mydbdata.sql.

If you cannot run mydbschema.sql then have the hosting company create the database for you. You could also use whatever DB tools they have setup for you to create the database yourself.

You could then load the data using

mysql -umyuser -pmypassword -h(IP-of-DBServer) -Dmydb < mydbdata.sql

I also noticed the user mysql was expecting 'myuser'@'10.%' as the user to authenticate. You might need 'myuser'@'IP-of-DBServer' defined on the database mydb with this:

GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'IP-of-DBServer';

Give it a Try !!!

share|improve this answer

In my opinion your sql file contains the create database mydatabase; statement

And myuser have not the permissions to create that database.So generate the dump without the create database statement.

Or comment it out in your sql file use -- for commenting a line in sql file.

share|improve this answer
    
@Nick : if you need help regarding the mysqldump let me know. –  Abdul Manaf Feb 24 '12 at 4:25

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.