I have created a database by name 'somedatabase' in mysql
CREATE DATABASE somedatabase;
GRANT ALL ON somedatabase.* TO 'someuser'#'localhost' IDENTIFIED BY 'somepassword';
but when i try to access this database using php application i get the following error
"mysql_connect() [function.mysql-connect]: Access
denied for user 'someuser'#'localhost' (using password: YES)"
The Mysql query browser does allow me to login to this database using username : someuser and password : somepassword. Then why is that i am not able to connect to database through application.
php code :
$db_url = 'mysql://someuser:*somepassword*#localhost/somedatabase';
Do not use singlequote (') around someuser when using GRANT.
GRANT ALL ON somedatabase.* TO someuser#'localhost' IDENTIFIED BY 'somepassword';
I am also assuming that you're running Apache/PHP on the same box as MySQL.
I had same problem. the solution of my problem by was setting the host , for some reason php was not connecting for user at any host (%)
Try this:
GRANT ALL PRIVILEGES ON somedatabase.* TO 'someuser'#'%' IDENTIFIED BY 'somepassword';
http://dev.mysql.com/doc/refman/4.1/en/adding-users.html
Related
I created my database offline using XAMPP. After uploading my site, I imported my database into server PHPmyadmin. Yet when if i load my website it will deny me access to the database displaying this error message:
Failed to connect to MySQL: Access denied for user
'everjoe'#'localhost' (using password: YES)
mysql -uroot -p
CREATE USER 'username'#'%' IDENTIFIED BY 'password';
CREATE USER 'username'#'localhost' IDENTIFIED BY 'password';
GRANT ALL ON database_name.* TO 'username'#'%';
So could you check, if your Server of the Website is allowed in the SQL-Server, you can check that on the sql-console with the following command.
SELECT Host, User FROM mysql.user;
See here https://mariadb.com/kb/en/create-user/#host-name-component for detailed information.
If there is still a Problem, maybe it is your /etc/mysql/my.cnf-File
See here: MySQL Error: : 'Access denied for user 'root'#'localhost'
The problem here is incorrect username and password, check your username and password details again
You could also go to c:\xampp\phpmyadmin\config.inc.php
Check for
$cfg['Servers'][$i]['user'] and $cfg['Servers'][$i]['password']
You should see your phpmyadmin username and password.
I can access my database with
mysql -u root -p
and then by entering my password.
But when I try to login through a php script
$link = mysqli_connect('localhost', 'root', 'mypassword');
I get the following error
Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'#'localhost' (using password: YES) in /Library/WebServer/Documents/connect/index.php on line 6
When I run
SELECT USER(),CURRENT_USER();
in MySQL, I get the following (reformatted)
root#localhost | root#localhost
So I know the three parameters in my login function are correct, but I am not able to sign in.
I would appreciate any help.
Edit: Here are the grants
GRANT ALL PRIVILEGES ON *.* TO 'root'#'localhost' IDENTIFIED BY PASSWORD '*0503AA35367B049092549C66DFE0D6C3AA3C4970' WITH GRANT OPTION || GRANT PROXY ON ''#'' TO 'root'#'localhost' WITH GRANT OPTION
EDIT: just to be explicit, what solved my problem was using 127.0.0.1 instead of localhost.
This error is usually because of an incorrect username password combination.
User root normally has no password unless you've added one. Try going into PHPMYADMIN or other config files and dig up the password for root.
Another issuer is, you could try connecting to a specific database (the fourth parameter of mysqli_connect and do a SHOW GRANTS on user root) to ensure you have the privileges. root may not have the necessary grants, and I think that is what could be happening.
https://dev.mysql.com/doc/refman/5.0/en/show-grants.html
Edit: Answer in the comments, changed localhost to 127.0.0.1, likly some configuration stuff in the server hosting environment
I have setup a MySQL database and I am trying to connect to it from another website.
I get this error when I try to connect to it:
Connection failed: Access denied for user 'myUsername'#'localhost' (using password: YES)
It works fine when I do it in the same website where the database is hosted.
I tried this SQL query:
GRANT SELECT, DELETE, UPDATE ON database.myDatabaseName TO 'myUsername'#'localhost' IDENTIFIED BY 'myPassword';
But I got this error:
#1142 - SELECT,UPDATE,DE command denied to user 'Steve'#'localhost' for table 'myDatabaseName'
I went to the MySQL management in the built-in control panel where I modified permissions of Steve and added the Grant permission, however I still get the same #1142 error.
How can I fix this?
Thanks in advance.
Access denied for user 'myUsername'#'localhost' (using password: YES)
That's where the error is. It says you are attempting to connect to localhost with the username myUsername and a supplied password. However, usually on localhost, especially on windows systems, the user is Root and the password is not set, just an empty string. Check your username on your localhost and your password.
I am getting the following error when trying to access a MySQL table :
Access denied for user 'root'#'localhost' (using password: NO)
But, I can login with root when using mysql in the command line.
That is the normal behaviour. You set a root password for your database so from now on you can't access it without password. That is why it reports:
Access denied for user 'root#localhost' (using password: no )
Obviously when you give the password with the -p switch you succeed.
You should set up a password for root!
http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
I've Installed mysql, php, apache using a wamp configuration
Where to access localhost is would be http://localhost:81
the PHP script I'm using is
if(mysql_connect('localhost', 'root', 'exobytes15')) {
mysql_select_db('testDB');
}
else {
echo 'Could not Connect to the database';
}
But this gives me the error
1045: Access denied for user 'root'#'localhost' (using password: YES)
What should I do to fix this problem?
Either you didn't grant root#localhost the necessary rights to access the database or you're providing the wrong password.
Note : granting access to root#`%` does NOT grant access to root#localhost...
Make sure you have that your database is running, and that the user has access to it.
You can use either use the plain old mysql commandline client for this or phpmyadmin if your wamp stack has that installed.
You're connecting with the wrong password: Reset the password
or more likely: you don't have privileges to connect from localhost.
Run the command:
GRANT ALL PRIVILEGES ON *.* TO 'root'#localhost WITH GRANT OPTION;
Test to see if you can connect.
Never do: GRANT ALL PRIVILEGES ON *.* TO 'root'#% WITH GRANT OPTION;
Because that will put your database server at risk from remote login attempts.
Maybe u are running mysql on a port other than the default port.
If it is the case use this:
mysql_connect('localhost:PORT', 'root', 'exobytes15')