运行命令时:python manage.py runserver我收到以下错误:
django.db.utils.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found.\r\n")
Run Code Online (Sandbox Code Playgroud)
这些是相关设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'polls',
'USER': 'root',
'PASSWORD': '<my-password>',
'HOST': 'localhost'
}
}
Run Code Online (Sandbox Code Playgroud)
我已经看到了解决问题的解决方案,例如在这个线程中。他们建议将引擎更改为mysql.connector.django,但是 django 推荐的引擎是mysqlclient,因此我想使用它。其他建议是使用 naive password 而不是 sha2。出于安全原因,我宁愿不使用此解决方案。
版本:
我的服务器使用 MySqlConnector 并与 AWS 上的 MySQL 数据库进行通信。我在 MySQL 中存储了 5 分钟的 API 计数器块。这些 API 计数器随着每次 API 调用而递增,并由 ConcurrentDictionary 代码处理(这似乎不是问题)。这行代码最近引发了一个异常,它是通过 MySqlConnector 访问 MySQL 数据库表的 linq 查询的一部分:
await _context.ApiCounts.Where(c => c.ApiName == apiName && c.StartTime >= startTime).ToListAsync();
我以前从未见过此行失败,但突然我的一台服务器开始在上面的行中抛出以下异常:
InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
at System.ThrowHelper.ThrowInvalidOperationException_ConcurrentOperationsNotSupported
at System.Collections.Generic.Dictionary`2.FindEntry
at System.Collections.Generic.Dictionary`2.TryGetValue
at Remotion.Linq.Parsing.Structure.NodeTypeProviders.MethodInfoBasedNodeTypeRegistry.GetNodeType
at Remotion.Linq.Parsing.Structure.NodeTypeProviders.MethodInfoBasedNodeTypeRegistry.IsRegistered
at System.Linq.Enumerable.Any
at Remotion.Linq.Parsing.Structure.ExpressionTreeParser.GetQueryOperatorExpression
at …Run Code Online (Sandbox Code Playgroud) 我一直试图让MySQL连接器工作我已经安装了连接器和mysql客户端库,但我仍然收到此错误:
obj/Database.obj: In function `Database::connect()':
/home/xeross/alpine/src/server/Database.cpp:13: undefined reference to `get_driver_instance'
collect2: ld returned 1 exit status
make[2]: *** [alpine-server] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
Run Code Online (Sandbox Code Playgroud)
使用Ubuntu 10.04我的makefile如下:
INCLUDES = -I./src -I./src/shared
OUTDIR = bin
INTDIR = obj
OPTIONS = -ggdb -g3 -Wall -O0
alpine-server : Shared.a AsyncServerSocket.obj PlayerHandler.obj PacketHandler.obj Session.obj User.obj Database.obj init
g++ $(INCLUDES) $(OPTIONS) -static \
-pthread \
-lmysqlcppconn-static \
-o $(OUTDIR)/alpine-server src/server/main.cpp \
$(INTDIR)/AsyncServerSocket.obj \
$(INTDIR)/PacketHandler.obj \
$(INTDIR)/Database.obj \
$(INTDIR)/PlayerHandler.obj \ …Run Code Online (Sandbox Code Playgroud) 编辑:根据测试更新了问题描述 - 2011年9月12日.
我有这个查询,每当我调用.ToList()时抛出NotSupportedException("不支持指定的方法.").
IQueryable<FileDefinition> query = db
.FileDefinitions
.Include(x => x.DefinitionChangeLogs)
.Include(x => x.FieldDefinitions.Select(y => y.DefinitionChangeLogs)) // bad
.Include(x => x.FieldDefinitions.Select(y => y.FieldValidationTables)) // bad
.Where(x => x.IsActive);
List<FileDefinition> retval = query.ToList();
Run Code Online (Sandbox Code Playgroud)
如果我注释掉我评论为"坏"的任一行,那么查询就可以了.我也尝试在我的对象模型中包含不同的嵌套实体,效果相同.包括任何2将导致崩溃.嵌套,我的意思是导航属性的导航属性.我也尝试将.Include方法与字符串路径一起使用:结果相同.
我的表结构如下所示:


这显然使用MySQL 5.1(显然是InnoDB表)作为MySQL Connector/NET 6.3.4的数据库存储.
所以我的问题是:为什么这不起作用?
注意:如果我明确加载此链接中的相关实体,我可以使其工作.但我想知道为什么EF讨厌我的数据模型.
答案:MySQL Connector显然无法处理第二个嵌套实体包含.它抛出NotSupportedException,而不是.NET EF.当我使用EF4.0尝试这个时,同样的错误也存在,但我当时的研究让我相信它是导致问题的自我跟踪实体.我尝试升级到最新的Connector,但它开始导致Out of Sync错误.这是我讨厌MySQL的另一个原因.
我开始了一个基于asp.net MVC 3和MySql的站点我获得了使用MySQL .NET连接器的成员资格,因此使用mvc 3的新项目获得的默认应用程序我有一个工作注册表单和一个工作登录表单
但是......如何在注册表单中添加更多字段?我知道如何将它们添加到我的模型和页面..但我如何使成员保持这个新数据不适合用户?我必须自己在数据库中创建列吗?或会员资格知道如何以某种方式自动创建它们?
我只想要3个以上的领域进行注册......
谢谢
asp.net asp.net-mvc asp.net-membership mysql-connector asp.net-mvc-3
我假设这是MySQL连接器与单声道的错误,但我想我会问incase somone找到了解决方法.
我有一个VS解决方案运行.net 4(最新的单声道),我今天早上在他们的网站上使用最新版本的MySQL连接器.
如果我用visual studio打开项目,编译并运行MySQL连接器几乎可以立即连接到MySQL数据库,一切都很顺利.
如果我在MonoDevelop中打开完全相同的项目(导致它使用单声道而不是MS .net4构建)而没有更改一行代码,则MySQL连接器回复"无法连接到任何指定的MySQL主机"
这不能是数据库问题,否则我会在两个版本中看到问题.即使留在MonoDevelop并使用MS .net框架进行构建仍然会产生良好的连接.
我的连接字符串包含服务器,端口,uid,密码,连接超时,数据库,池
更多细节 :
Windows 7 x64 visual studio 2010 Mono 2.10.8 MonoDevelop 3.0.2
我通过谷歌搜索我的问题看到了大量的结果,但它们似乎都是不同的问题,或者由于已经被方法修复的旧错误在这种情况下肯定没有用.
编辑:任何人都可以复制我在这里看到的内容吗?
我正在通过 mysql 连接器连接到 mysql 数据库并运行一个简单的查询来提取 ID 列表。我需要遍历该列表并将它们传递给其他一些代码。出于某种原因,我得到了一个元组列表。这是预期的行为吗?如果没有,我做错了什么?这是我的代码片段:
import mysql.connector
conn = mysql.connector.connect(host='127.0.0.1', database='t', user='r', password='pwd')
cursor = conn.cursor()
query = ( "select id from T where updated < '%s'" % (run_date) )
cursor.execute(query)
for row in cursor:
print (row)
cursor.close()
Run Code Online (Sandbox Code Playgroud)
我得到以下回复(来自 d/b 中的 INT 字段):
(Decimal('991837'),)
(Decimal('991838'),)
(Decimal('991839'),)
(Decimal('991871'),)
(Decimal('991879'),)
(Decimal('991899'),)
(Decimal('992051'),)
(Decimal('992299'),)
(Decimal('992309'),)
Run Code Online (Sandbox Code Playgroud) 我想使用MySQL Connector建立与数据库的连接.我得到了与程序集的连接,MySql.Data.RT.dll但这是为Win RT.这对于Win 10 Universal应用程序来说也是正确的,或者使用.NET 4.5 Framework之一是否更好:
我的问题是:
为Windows Universal App选择哪个程序集?
我正在尝试使用 SSL 连接到 Azure MySQL 5.7,但遇到了一个似乎无法解决的错误。
连接适用于
连接不适用于
我使用以下工作命令调用 mysql.exe
mysql.exe -h server.mysql.database.azure.com -u user@server -p --ssl
这会连接并且不会出现任何问题。MySQL Workbench 8.0 也能正常工作。
但是随后使用 Qt MySQL 插件进行连接会产生此错误。
SSL connection error: socket layer receive error
这是我用来连接的 Qt 代码
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("server.mysql.database.azure.com");
db.setPort(3306);
db.setDatabaseName("databasename");
db.setUserName("user@server");
db.setPassword("password");
db.setConnectOptions("SSL_CA=C:/Users/User/Downloads/BaltimoreCyberTrustRoot.crt.pem");
if (!db.open()) {
std::cout << db.lastError().text().toStdString() << "\n";
}
Run Code Online (Sandbox Code Playgroud)
接下来我尝试使用 MySQL Connector/C(Qt 在下面使用)直接连接到 Azure 数据库。
MYSQL* mysql = mysql_init(nullptr);
char* t = "C:/Users/User/Downloads/BaltimoreCyberTrustRoot.crt.pem";
mysql_ssl_set(mysql, nullptr, nullptr, t, …Run Code Online (Sandbox Code Playgroud) 我为一个程序工作了两个月。今天使用mysql.connector连接数据库时突然出错。
有趣的是,运行以前的版本时不会出现此错误。
import mysql.connector
import pandas as pd
mydb = mysql.connector.connect(host="localhost", user="root", password="*****",
database="****")
Q = f'SELECT * FROM table'
df = pd.read_sql_query(Q, con=mydb)
print(df)
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
Traceback (most recent call last):
df = pd.read_sql_query(Q, con=mydb)
File "g.v1.6\venv\lib\site-packages\pandas\io\sql.py", line
398, in read_sql_query
pandas_sql = pandasSQL_builder(con)
File "g.v1.6\venv\lib\site-packages\pandas\io\sql.py", line
750, in pandasSQL_builder
sqlalchemy = import_optional_dependency("sqlalchemy")
File "g.v1.6\venv\lib\site-
packages\pandas\compat\_optional.py", line 129, in import_optional_dependency
raise ImportError(msg)
ImportError: Missing optional dependency 'SQLAlchemy'. Use pip or conda to install
SQLAlchemy.
Run Code Online (Sandbox Code Playgroud)
这和 SQLAlchemy 有什么关系?
mysql-connector ×10
mysql ×5
c# ×4
python ×3
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
azure ×1
c++ ×1
django ×1
makefile ×1
mono ×1
pandas ×1
python-3.x ×1
qt ×1
ssl ×1