问题标签 [mysql-8.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 无法加载身份验证插件“caching_sha2_password”
我正在将 MySQL - 8.0 与 MySQL Workbench 连接并收到以下错误:
无法加载身份验证插件'caching_sha2_password':dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so,2):找不到图像
我也尝试过使用其他客户端工具。
有什么解决办法吗?
mysql - 具有不同参数的相同格式查询在 MySQL 8.0 中具有完全不同的执行时间
编辑:我现在已经解决了这个问题。感谢里克詹姆斯的帮助!另外:它不是解决方案的一部分,但是您对前缀索引是 100% 正确的。当我把它们拿出来时,性能实际上略有上升。
. . .
我遇到了一个奇怪的数据库问题,我无法解决这个问题,我希望这个聪明的蜂巢思维可以帮助我。简而言之,我发现尽管格式相同,但对我的数据库的一些查询非常慢,而其他查询几乎是即时的。例如,这个查询:
在 0.06 秒内返回结果。足以满足我的需求。但是这个查询:
这里唯一的区别在于搜索参数。但是第二个查询需要9 多分钟才能执行。如果使用“LIKE”而不是“=”则更长。当然,我的数据库中的 'Edward's' 比 'Ruth's' 多,但仅凭这一点肯定不能解释为什么第二个查询比第一个慢几个数量级?如您所见,该查询使用自联接。我很欣赏这些可能不是最有效的方法,但它们可以满足我的需要,并使我的前端代码更简单。大多数时候,它们工作得很好。
这是第一个(快速)查询的解释:
这是第二个(慢)查询的解释:
我知道这几乎是不可能阅读的,但我一生都无法弄清楚如何将表格布局中的任何内容粘贴/导入到该站点中...
重要的是,据我所知,这两个 EXPLAIN 显示了功能相同的查询计划!然而,一个比另一个快得多。计划者如何订购这些陈述可能有什么问题吗?我对 SQL 相当有能力,但是这个查询规划器/索引的东西对我来说对黑魔法的研究有点太远了。有人可以帮忙吗?
我试过添加和删除索引。我尝试使用 FORCE INDEX 重写查询,但这只会让它们变慢。我在这里束手无策。
我唯一能想到的可能是,如果自连接的两侧都足够大(即,搜索一个非常常见的名字和一个非常常见的姓氏),那么两者的组合会溢出一些内存缓冲区某处,而是在磁盘上处理。这似乎是唯一会在某些情况下导致如此急剧放缓的事情。因此,这里有一些来自正在搜索的主(即最大)表的指示性相关数字。
在主数据表(EXPLAIN 中别名为 prp)中,有 24,771 条记录,其 Property_Class 对应于“First_Name”,Property_Value 为“Edward”,有 567 条记录,Property_Class 对应于“Last_Name”,Property_Value 为“雅培。搜索这些参数的查询需要很长时间才能执行,并且通常会在完成之前使 Web 服务器超时。
相反,有 916 条 Property_Class 对应于“First_Name”且 Property_Value 为“Ruth”的记录,以及 15,054 条 Property_Class 对应于“Last_Name”且 Property_Value 为“Davies”的记录。搜索这些参数的查询需要 0.6 秒才能执行。
如您所见,这两个查询可能涉及相似数量的交叉匹配(约 14,000,000)。然而,一个是冰川,另一个不是。
无论如何,我已经尝试在 my.ini 中增加任何可能听起来的缓冲区类型变量,看看是否有帮助,但鉴于我真的不知道自己在做什么,我有点不愿意在这方面过于努力地尝试. 我更像是一名编码员而不是数据库服务器管理员!
因此,如果有人对我有一些见解,我会很高兴听到它!
感谢您的时间。
编辑:用于将 Property_Type、Person 和 Property_Value 拼接成一个连贯条目的 VIEW 如下:
以下是我认为相关表的 CREATE TABLE 语句:
..
编辑:哎呀......你是对的,里克詹姆斯......这些表定义在一个单独的 SQL 脚本中,所以我忘记了它们。道歉。
casting - 类型转换为 FLOAT
以下查询未返回我对slope
和的预期/期望结果intercept
。我终于意识到这一点,slope
并且intercept
在我的锚查询中被类型转换为整数,并通过递归保持整数。
slope
并且intercept
需要能够存储差异很大的值,准确度并不重要,所以我觉得FLOAT
最好。我的架构slope
和intercept
如图所示:
作为 hack 解决方案,我将锚查询更改为:
我认为正确的解决方案是将这两个值类型化为 a FLOAT
,但文档似乎不允许。我可以这样做DECIMAL
,但是,我有一个问题,slope
并且intercept
可能是一个广泛的价值观。
我可以投slope
吗?如果不是,最好的解决方案是什么?intercept
FLOAT
mysql - MySQL 8.0 上的 phpMyAdmin
更新
较新版本的 phpMyAdmin 解决了这个问题。我已经成功测试了 phpMyAdmin 5.0.1
我已经安装了 MySQL 8.0 服务器和 phpMyAdmin,但是当我尝试从浏览器访问它时,会出现以下错误:
我想这一定与实施的强密码和 MySQL 版本的相对新鲜度有关。
但我对最先进的驱动程序和连接配置一无所知。
有人遇到过同样的问题并解决了吗?:D
django - 测试 Django 与 Mysql 8.0 日期时间不兼容
测试 Django 与 Mysql 8.0 日期时间不兼容。
我正在尝试使用 mysql 8.0 运行测试,但是遇到了一些不一致的问题。有人可以帮忙吗?
mysql 8.0.11 Django 2.0.4
mysql - 无法在 circleci/mysql 中加载身份验证插件“caching_sha2_password”
我最近在 CircleCi 2 中测试代码时遇到了问题。我们的 config.yml 的一部分:
Prepare DB
构建失败
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: Error loading shared library /usr/lib/mysql/plugin/caching_sha2_password.so: No such file or directory
Exited with code 1
这个错误现在才出现,并且没有对 circle / mysql 设置进行任何更改。
从例如https://stackoverflow.com/a/49944625/2713641中指定可以设置一个--default-authentication-plugin=mysql_native_password
标志,但不确定是否适用于此处,或者如何在圆形 ci 设置中应用它。
mysql - 如何在 MySQL 8 的 JDBC 连接字符串中设置 SQL 模式?
我最近将我的 MySQL 实例从 5.7 升级到了 8.0。我使用 JDBC 和一个如下所示的连接字符串连接到我的旧实例:
升级到 8.0 后导致此错误
如何在 MySQL 8 的 JDBC 连接字符串中设置 SQL 模式?
mysql - 如何有效地只在 WITH RECURSIVE 语句中保留最新的行?
我在表中有一些初始行。我想用递归调用来修改它们。在我的示例代码中,这个函数是一个简单的乘以 2,我想执行 5 次:
它有效,但我的问题是它只在查询结束时过滤掉不需要的值。如果我从更多的行开始,它会降低性能,因为我应该在内存中有更多的行。是否可以仅在每次迭代中保留最新值?
SQLFiddle:http ://sqlfiddle.com/#!5/9eecb7/6761
mysql - PASSWORD() 类似 MySQL 8.0 的功能,可插入身份验证
在可插入身份验证之前,使用PASSWORD功能,我能够
- 从明文密码创建哈希密码字符串,存储在 mysql.user 中,
- 验证明文密码是否与 mysql.user 中的散列密码匹配。
有没有办法通过可插入身份验证来做到这一点,而无需详细介绍身份验证插件?就像是