pymysql.err.OperationalError: (1045, “Access denied for user ‘root‘@‘localhost‘ (using password: NO)

问题描述:

Django迁移mysql——执行命令python manage.py makemigrations api 时报错,报错信息:pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

E:\django_restful>python manage.py makemigrations api
Traceback (most recent call last):
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection
    return Database.connect(**conn_params)
  File "C:\Python3.7.8\lib\site-packages\pymysql\__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 327, in __init__
    self.connect()
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 588, in connect
    self._request_authentication()
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 863, in _request_authentication
    auth_packet = self._process_auth(plugin_name, auth_packet)
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 936, in _process_auth
    pkt = self._read_packet()
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 676, in _read_packet
    packet.raise_for_error()
  File "C:\Python3.7.8\lib\site-packages\pymysql\protocol.py", line 223, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "C:\Python3.7.8\lib\site-packages\pymysql\err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

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

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Python3.7.8\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Python3.7.8\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python3.7.8\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Python3.7.8\lib\site-packages\django\core\management\base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "C:\Python3.7.8\lib\site-packages\django\core\management\base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "C:\Python3.7.8\lib\site-packages\django\core\management\commands\makemigrations.py", line 101, in handle
    loader.check_consistent_history(connection)
  File "C:\Python3.7.8\lib\site-packages\django\db\migrations\loader.py", line 283, in check_consistent_history
    applied = recorder.applied_migrations()
  File "C:\Python3.7.8\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations
    if self.has_table():
  File "C:\Python3.7.8\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor
    return self._cursor()
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 233, in _cursor
    self.ensure_connection()
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Python3.7.8\lib\site-packages\django\db\utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Python3.7.8\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection
    return Database.connect(**conn_params)
  File "C:\Python3.7.8\lib\site-packages\pymysql\__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 327, in __init__
    self.connect()
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 588, in connect
    self._request_authentication()
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 863, in _request_authentication
    auth_packet = self._process_auth(plugin_name, auth_packet)
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 936, in _process_auth
    pkt = self._read_packet()
  File "C:\Python3.7.8\lib\site-packages\pymysql\connections.py", line 676, in _read_packet
    packet.raise_for_error()
  File "C:\Python3.7.8\lib\site-packages\pymysql\protocol.py", line 223, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "C:\Python3.7.8\lib\site-packages\pymysql\err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")

报错原因:连接数据库时密码password输入错误

解决办法:

确认一下连接数据库的密码是否正确,可能是在脚本settings.py中配置数据库时把数据库或者数据库的密码配置错了。找到settings.py脚本中的数据库连接配置,检查数据库连接配置和密码,修改为正确的密码后保存脚本。

重新运行命令,模型创建成功。

猜你喜欢

转载自blog.csdn.net/DaisyCold/article/details/108033200
今日推荐