'how to overcome ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) permanently

when am trying to open mysql in windows cmd by typing mysql. the following error is occuring.

ERROR 1045 (28000): Access denied for user ODBC@localhost (using password: NO)

And then by looking similar queries i somehow got a temporary solution by using C:> mysql -u root -p and then typing the password, mysql is working. But when i close and open, the same problem is recurring.

One more thing is that i have created a user 'admin'. but when am trying to open mysql using the command C:> mysql --user=admin --password=root, the following error is occuring:

C:\Users\abhay kumar>mysql --user=admin --password=root
ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password:NO)

Any help will great



Solution 1:[1]

for some reason, the ODBC user is the default username under windows even if you didn't create that user at setup time. simply typing

mysql

without specifying a username will attempt to connect with the non-existent ODBC username, and give:

Error 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

Instead, try specifying a username that you know, for example:

mysql -u root -p

where -u root specified the username root and -p will make the command prompt for a password.

Solution 2:[2]

You need to create an user "ODBC" for MySql with no password. Do that in PHPMyAdmin. That will solve your problem.

But remember, if it's only your local development environment, no problem. It'll create a serious security hole in your production environment.

User ODBC with no password

Problem Solved

Solution 3:[3]

I tried this and it worked:

C:\cd MySQL installed path\MySQL -uyourusername -pyourpassword

Solution 4:[4]

C:\Users\abhay kumar>mysql --user=admin --password=root..

This command is working for root user..you can access mysql tool from any where using command prompt..

C:\Users\lelaprasad>mysql --user=root --password=root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.47 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Solution 5:[5]

I know it's been three years since this was asked, but I just figured out this problem for myself. I was using into outfile and getting the error. When I commented out this part of the query, it worked.

The FILE privilege is separate from all the others and must be granted to the user running the script.

GRANT FILE ON *.* TO 'asdfsdf'@'localhost';

Solution 6:[6]

Just create a file my.ini file in installation dir and have the below config as part of this file to solve this permanently.

[mysql]
user=root
password=root

Solution 7:[7]

If you are using dj-database-url check the schema in your DATABASES

https://github.com/kennethreitz/dj-database-url

MySQL is

'default': dj_database_url.config(default='mysql://USER:PASSWORD@localhost:PORT/NAME') 

It solves the same error even without the PORT

You set the password with:

mysql -u user -p 

Solution 8:[8]

Why you can't just use mysqlsh?

PS C:\Users\artur\Desktop> mysqlsh --user root
MySQL Shell 8.0.17

Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'root@localhost'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 13 (X protocol)
Server version: 8.0.17 MySQL Community Server - GPL
No default schema selected; type \use <schema> to set one.
 MySQL  localhost:33060+ ssl  JS >

mysqlsh on windows terminal (pic)

Solution 9:[9]

  1. open command line (run as admin)
  2. go into Mysql server bin folder
  3. run command: mysqldump -u root -p mydbscheme > mydbscheme_dump.sql
  4. give your password here against root.

It will work perfect !!

Solution 10:[10]

Try using following command it work.

mysql --user=root --password=root_password

Solution 11:[11]

You can create user with no password in phpmyadmin and it solves the problem! Lebbar Abdelhadi,

Solution 12:[12]

It seems like You haven't set the Mysql server path, Set Environment Variable For MySql Server. Then restart the command prompt and enter mysql -u root-p then it asks for a password enter it. Thank you. Happy learning!

Solution 13:[13]

You can connect to SQL from a python Jupiter notebook using this syntax:

import  mysql.connector as conn
conn.connect(host = 'localhost', user = 'root', passwd = 'xxx')

xxx = your password for MySQL user = your MySQL user name, which might be different from root. Check your MySQL userid, and change it accordingly.

Solution 14:[14]

Try this command: mysql -uroot -p then it will ask for password enter root as the password.

Solution 15:[15]

I encountered this problem today. I tried mysql -u root -p, but it doesn't work. I restarted the mysql service by two commands: net stop mysql and net start mysql then tried the command mysql. It worked.

Solution 16:[16]

i entered in Mysql Workbench and i changed the password. It seem the password was expired. it works!