Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django mysqlclient backend produces django.db.utils.OperationalError: (2059, <NULL>) in Windows

I'm trying to get my Django project running on a Windows 10 computer and it throws a very unspecific error when trying to establish a database connection. In this SO-post the problem was with the authentication, but in that post details about the error is displayed instead of <\NULL> which gives very little to go on.

The entire error looks like this:

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x0000018C3B8761E0>
Traceback (most recent call last):
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 216, in ensure_connection
    self.connect()
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\mysql\base.py", line 236, in get_new_connection
    return Database.connect(**conn_params)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\MySQLdb\__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\MySQLdb\connections.py", line 204, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2059, <NULL>)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\core\management\commands\runserver.py", line 120, in inner_run
    self.check(display_num_errors=True)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\core\management\base.py", line 364, in check
    include_deployment_checks=include_deployment_checks,
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\core\management\base.py", line 351, in _run_checks
    return checks.run_checks(**kwargs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\core\checks\registry.py", line 73, in run_checks
    new_errors = check(app_configs=app_configs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\core\checks\model_checks.py", line 27, in check_all_models
    errors.extend(model.check(**kwargs))
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\models\base.py", line 1200, in check
    errors.extend(cls._check_fields(**kwargs))
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\models\base.py", line 1272, in _check_fields
    errors.extend(field.check(**kwargs))
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\models\fields\__init__.py", line 894, in check
    errors = super().check(**kwargs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\models\fields\__init__.py", line 206, in check
    errors.extend(self._check_backend_specific_checks(**kwargs))
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\models\fields\__init__.py", line 303, in _check_backend_specific_checks
    return connections[db].validation.check_field(self, **kwargs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\validation.py", line 21, in check_field
    field_type = field.db_type(self.connection)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\models\fields\__init__.py", line 648, in db_type
    return connection.data_types[self.get_internal_type()] % data
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\utils\functional.py", line 36, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\mysql\base.py", line 133, in data_types
    if self.features.supports_microsecond_precision:
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\utils\functional.py", line 36, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\mysql\features.py", line 65, in supports_microsecond_precision
    return self.connection.mysql_version >= (5, 6, 4)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\utils\functional.py", line 36, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\mysql\base.py", line 345, in mysql_version
    with self.temporary_connection() as cursor:
  File "C:\Users\marcu\AppData\Local\Programs\Python\Python36\lib\contextlib.py", line 81, in __enter__
    return next(self.gen)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 576, in temporary_connection
    cursor = self.cursor()
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 255, in cursor
    return self._cursor()
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 232, in _cursor
    self.ensure_connection()
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 216, in ensure_connection
    self.connect()
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 216, in ensure_connection
    self.connect()
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\base\base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\django\db\backends\mysql\base.py", line 236, in get_new_connection
    return Database.connect(**conn_params)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\MySQLdb\__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
  File "D:\Program\LiquidMarket\venv\lib\site-packages\MySQLdb\connections.py", line 204, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (2059, <NULL>)

Using python 3.6.6 and mysqlclient 1.3.13, although 1.3.12 has also been tried.

Database settings:

DATABASES = {
    'default': {
        'ENGINE': "django.db.backends.mysql",  # 'mysql.connector.django'
        'NAME': 'testdb',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
          'autocommit': True,
        },
    },
}
like image 842
Marcus Grass Avatar asked Nov 17 '25 19:11

Marcus Grass


1 Answers

enter image description here

change the way of encryption of the new version mysql,because django cant support the new encryption

like image 92
mengLV LI Avatar answered Nov 19 '25 08:11

mengLV LI



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!