pymysql.err.OperationalError 1045, Access denied for user
See original GitHub issueDescription of the issue
When accessing localhost:8000 I got:
pymysql.err.OperationalError: (1045, u"Access denied for user ‘_69928f0f6369849a’@‘172.30.0.2’ (using password: YES)")
Context information (for bug reports)
Running the development enviroment. Using the VS code’s Remote - Containers extension
Steps to reproduce the issue
- Access localhost:8000 or mysite.localhost:8000 (the error shows in the console and in html format)
- OR Running any bench command like
bench mariadb
,bench console
, etc (the error shows in the console)
Stacktrace / full error message if available
15:18:47 web.1 | INFO:werkzeug:172.30.0.1 - - [18/May/2020 15:18:47] "GET / HTTP/1.1" 500 -
15:18:47 web.1 | Traceback (most recent call last):
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/app.py", line 53, in application
15:18:47 web.1 | init_request(request)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/app.py", line 120, in init_request
15:18:47 web.1 | frappe.local.http_request = frappe.auth.HTTPRequest()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/auth.py", line 51, in __init__
15:18:47 web.1 | frappe.local.login_manager = LoginManager()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/auth.py", line 113, in __init__
15:18:47 web.1 | self.make_session(resume=True)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/auth.py", line 188, in make_session
15:18:47 web.1 | full_name=self.full_name, user_type=self.user_type)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/sessions.py", line 194, in __init__
15:18:47 web.1 | self.resume()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/sessions.py", line 261, in resume
15:18:47 web.1 | validate_ip_address(self.user)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/auth.py", line 404, in validate_ip_address
15:18:47 web.1 | user = frappe.get_cached_doc("User", user) if not frappe.flags.in_test else frappe.get_doc("User", user)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 710, in get_cached_doc
15:18:47 web.1 | doc = get_doc(*args, **kwargs)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 753, in get_doc
15:18:47 web.1 | doc = frappe.model.document.get_doc(*args, **kwargs)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/document.py", line 69, in get_doc
15:18:47 web.1 | controller = get_controller(doctype)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/base_document.py", line 37, in get_controller
15:18:47 web.1 | module_name, custom = frappe.db.get_value("DocType", doctype, ("module", "custom"), cache=True) \
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 401, in get_value
15:18:47 web.1 | order_by, cache=cache)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 445, in get_values
15:18:47 web.1 | out = self._get_values_from_table(fields, filters, doctype, as_dict, debug, order_by, update)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 592, in _get_values_from_table
15:18:47 web.1 | as_dict=as_dict, debug=debug, update=update)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 122, in sql
15:18:47 web.1 | self.connect()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 75, in connect
15:18:47 web.1 | self._conn = self.get_connection()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/mariadb/database.py", line 96, in get_connection
15:18:47 web.1 | conn.select_db(self.user)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/connections.py", line 446, in select_db
15:18:47 web.1 | self._read_ok_packet()
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/connections.py", line 394, in _read_ok_packet
15:18:47 web.1 | pkt = self._read_packet()
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/connections.py", line 684, in _read_packet
15:18:47 web.1 | packet.check_error()
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/protocol.py", line 220, in check_error
15:18:47 web.1 | err.raise_mysql_exception(self._data)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
15:18:47 web.1 | raise errorclass(errno, errval)
15:18:47 web.1 | pymysql.err.OperationalError: (1044, "Access denied for user '_69928f0f6369849a'@'172.30.0.%' to database '_69928f0f6369849a'")
15:18:47 web.1 |
15:18:47 web.1 | During handling of the above exception, another exception occurred:
15:18:47 web.1 |
15:18:47 web.1 | Traceback (most recent call last):
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/middlewares.py", line 16, in __call__
15:18:47 web.1 | return super(StaticDataMiddleware, self).__call__(environ, start_response)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
15:18:47 web.1 | return self.app(environ, start_response)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
15:18:47 web.1 | return self.app(environ, start_response)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/werkzeug/local.py", line 231, in application
15:18:47 web.1 | return ClosingIterator(app(environ, start_response), self.cleanup)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/werkzeug/wrappers/base_request.py", line 237, in application
15:18:47 web.1 | resp = f(*args[:-2] + (request,))
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/app.py", line 83, in application
15:18:47 web.1 | response = handle_exception(e)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/app.py", line 194, in handle_exception
15:18:47 web.1 | http_status_code=http_status_code)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 33, in render
15:18:47 web.1 | raise_if_disabled(path)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 345, in raise_if_disabled
15:18:47 web.1 | 'route': ['like', '%{0}'.format(path)]
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 528, in get_all
15:18:47 web.1 | return frappe.get_all(*args, **kwargs)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 1318, in get_all
15:18:47 web.1 | return get_list(doctype, *args, **kwargs)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 1291, in get_list
15:18:47 web.1 | return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/db_query.py", line 96, in execute
15:18:47 web.1 | result = self.build_and_run()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/db_query.py", line 110, in build_and_run
15:18:47 web.1 | args = self.prepare_args()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/db_query.py", line 136, in prepare_args
15:18:47 web.1 | self.set_optional_columns()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/db_query.py", line 298, in set_optional_columns
15:18:47 web.1 | columns = get_table_columns(self.doctype)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/model/meta.py", line 49, in get_table_columns
15:18:47 web.1 | return frappe.db.get_table_columns(doctype)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 863, in get_table_columns
15:18:47 web.1 | columns = self.get_db_table_columns('tab' + doctype)
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 854, in get_db_table_columns
15:18:47 web.1 | where table_name = %s ''', table)]
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 122, in sql
15:18:47 web.1 | self.connect()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/database.py", line 75, in connect
15:18:47 web.1 | self._conn = self.get_connection()
15:18:47 web.1 | File "/workspace/development/frappe-bench/apps/frappe/frappe/database/mariadb/database.py", line 96, in get_connection
15:18:47 web.1 | conn.select_db(self.user)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/connections.py", line 446, in select_db
15:18:47 web.1 | self._read_ok_packet()
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/connections.py", line 394, in _read_ok_packet
15:18:47 web.1 | pkt = self._read_packet()
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/connections.py", line 684, in _read_packet
15:18:47 web.1 | packet.check_error()
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/protocol.py", line 220, in check_error
15:18:47 web.1 | err.raise_mysql_exception(self._data)
15:18:47 web.1 | File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
15:18:47 web.1 | raise errorclass(errno, errval)
15:18:47 web.1 | pymysql.err.OperationalError: (1044, "Access denied for user '_69928f0f6369849a'@'172.30.0.%' to database '_69928f0f6369849a'")
Issue Analytics
- State:
- Created 3 years ago
- Comments:6
Top Results From Across the Web
pymysql.err.OperationalError: (1045, "Access denied for user ...
I am getting this error. pymysql.err.OperationalError: (1045, "Access denied for user 'MYID'@'localhost' (using password: NO)").
Read more >pymysql.err.OperationalError - (1045, "Access denied for user ...
I install ERPNext in Vultr(Ubuntu). i face the belo error msg. ... GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'your_password' WITH ......
Read more >Access denied for user (using password: YES)" - DevAnswers.co
Your certain your MySQL password is correct but you are getting "Error 1045: Access denied for user (using password: YES)".
Read more >(1045, 'Access denied for user 'root'@'localhost' (using ... - Quora
First, connect directly to MySQL with the root user. If you cannot, then you need to figure out the password, or reset the...
Read more >(OperationalError) (1045, "Access denied for user 'heat ... - IBM
"ERROR: (OperationalError) (1045, "Access denied for user 'heat'@'localhost' (using password: YES)")" while installing IBM UrbanCode Heat orchestration ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The problem seems to be with the IP address, which is constanly changing.
The way I manage to workaroud this problem is by:
docker exec -ti <CONTAINER_ID> bash
mysql -u root -p
(default pass is 123)UPDATE mysql.user SET host = '172.30.0.%' WHERE host = '172.30.0.2';
3.2.UPDATE mysql.db SET host = '172.30.0.%' WHERE host = '172.30.0.2';
3.3.FLUSH PRIVILEGES;
Then it works.
This is just a workaround. There should be a better solution. Thanks
Now there is
--no-mariadb-socket
option available inbench new-site
command. It sets the credential suitable for docker at the time of site creation.pull the latest bench image