当出现"Apache2 Django - 远程 MySQL 访问被拒绝 1045 (28000)"错误时,这意味着Django无法通过Apache2连接到远程MySQL数据库。这可能是由于数据库凭据错误或未正确配置数据库连接引起的。以下是一些可能的解决方法:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database_name',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'your_mysql_host',
'PORT': 'your_mysql_port',
}
}
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'your_mysql_host' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
确保将your_database_name、your_username、your_mysql_host和your_password替换为正确的值。
bind-address = your_mysql_host
重新启动MySQL服务以使更改生效。
sudo ufw allow 3306
确保根据您的实际需求调整端口号。
sudo service apache2 reload
如果问题仍然存在,您可能需要进一步检查网络连接、MySQL服务器日志以及Django和Apache2的其他配置。