Django migration file computer cannot access mysql on the virtual machine [django.db.utils.OperationalError: (2003, “Can’t connect to MySQL server …

(env) D:\python_learn\meiduo_project\meiduo_mall>python manage.py makemigrations
Traceback (most recent call last):
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\__init__.py", line 377, in execute
django.setup()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "D:\Python\Python38\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\contrib\auth\models.py", line 2, in
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\contrib\auth\base_user.py", line 47, in
class AbstractBaseUser(models.Model):
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\models\base.py", line 121, in __new__
new_class.add_to_class('_meta', Options(meta, app_label))
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\models\base.py", line 325, in add_to_class
value.contribute_to_class(cls, name)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\models\options.py", line 208, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\__init__.py", line 28, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\utils.py", line 207, in __getitem__
backend = load_backend(db['ENGINE'])
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\utils.py", line 111, in load_backend
return import_module('%s.base' % backend_name)
File "D:\Python\Python38\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\mysql\base.py", line 37, in
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

(env) D:\python_learn\meiduo_project\meiduo_mall>python manage.py makemigrations
Traceback (most recent call last):
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\connections.py", line 581, in connect
sock = socket.create_connection(
File "D:\Python\Python38\lib\socket.py", line 808, in create_connection
raise err
File "D:\Python\Python38\lib\socket.py", line 796, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] The connection cannot be made because the target computer actively refused it.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 220, in ensure_connection
self.connect()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\mysql\base.py", line 233, in get_new_connection
return Database.connect(**conn_params)
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\connections.py", line 325, in __init__
self.connect()
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\connections.py", line 630, in connect
raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] Cannot connect because the target computer actively refused.)")

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

Traceback (most recent call last):
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\base.py", line 366, in execute
self.check()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\base.py", line 392, in check
all_issues = self._run_checks(
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\management\base.py", line 382, in _run_checks
return checks.run_checks(**kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\checks\registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\core\checks\model_checks.py", line 34, in check_all_models
errors.extend(model.check(**kwargs))
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\models\base.py", line 1275, in check
*cls._check_constraints(),
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\models\base.py", line 1843, in _check_constraints
connection.features.supports_table_check_constraints or
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\mysql\features.py", line 93, in supports_column_check_constraints
if self.connection.mysql_is_mariadb:
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\mysql\base.py", line 363, in mysql_is_mariadb
return 'mariadb' in self.mysql_server_info.lower()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\mysql\base.py", line 350, in mysql_server_info
with self.temporary_connection() as cursor:
File "D:\Python\Python38\lib\contextlib.py", line 113, in __enter__
return next(self.gen)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 604, in temporary_connection
with self.cursor() as cursor:
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 260, in cursor
return self._cursor()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 236, in _cursor
self.ensure_connection()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 220, in ensure_connection
self.connect()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 220, in ensure_connection
self.connect()
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\base\base.py", line 197, in connect
self.connection = self.get_new_connection(conn_params)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\utils\asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\django\db\backends\mysql\base.py", line 233, in get_new_connection
return Database.connect(**conn_params)
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\connections.py", line 325, in __init__
self.connect()
File "D:\python_learn\meiduo_project\env\lib\site-packages\pymysql\connections.py", line 630, in connect
raise exc
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] The connection cannot be made because the target computer actively refused it.)")

Use server ip, do not use 127.0.0.1