问题标签 [mysql-5.6]
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 - 在具有数百万条记录表的复合键上加入子查询
我有一些非常大的桌子——一张大约 200,000,000(扫描),另一张大约 50,000,000(详细信息)。它们通常连接在一组匹配的列上 - 特别是 USPS 条形码数据(zip、zip_4、zip_delivery_point、serial_number)。因为它通常是定位匹配扫描的片段详细记录,所以我想按查找条件对扫描记录进行分区(片段详细记录由代表邮件的一组不同的键分区)。这导致我从自动递增的 PK 转变为 zip、zip_4、zip_delivery_point、serial_number、scan_date_time 的组合。
我现在遇到的问题是优化我的一些大型报告查询。我通常会运行一些脚本来处理数据,包括查找每封邮件的第一次扫描日期、每封邮件的最新扫描日期、计算投递日期等。我经常发现自己需要执行这样的连接:
由于我的 PK 没有一个很好的单列,因此我无法以这种方式对记录执行连接,除非我在运行中或预先连接我的复合键值以假冒单列键. 不过,这似乎是多余的。
什么是维护按我当前的复合键排序的记录的物理顺序的好方法,同时还能够加入可以利用先前子查询(在我的示例中为 s1 和 s2)的子查询的结果?
注意:我目前可以通过用子查询替换连接表然后加入该别名来完成正确的结果,但是 mysql 似乎希望在以这种方式执行连接之前将整个表加载到内存中。
表结构
windows - MySql 5.6 Windows 重置服务的 root 密码
我做了这一切:http ://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
mysqld 正在命令提示符下运行,我可以使用新密码进行连接。但是,数据库不见了。
幸运的是,我再次找到了我的 root 密码,并在服务以“networkservice”用户正常运行时尝试登录(使用工作台)。现在我想知道为什么我不能更改网络服务实例的密码。似乎该数据库已连接到该 Windows 用户。
我用安装向导安装了mysql。我尝试了很多东西,我无法重置在Windows 8上运行的MySQL 5.6服务的密码。我尝试在cmd中以管理员身份运行reset,它在命令提示符,我可以用新密码连接,但是和MySql56服务不一样...
我曾尝试在服务选项中运行启动参数,但似乎 Windows 在启动服务时忽略了它。
任何建议为什么?
mysql - 在内部连接子查询上更新数百万条记录 - 优化技术
我正在寻找一些关于如何更好地优化此查询的建议。
对于每条_piece_detail
记录:
_scan
在 (zip, zip_4, zip_delivery_point, serial_number) 上包含至少一条匹配记录- 属于一家公司
mailing_groups
(通过一系列关系) - 有:
first_scan_date_time
大于MIN(scan_date_time)
相关的 _scan 记录latest_scan_date_time
小于MAX(scan_date_time)
相关_scan
记录的
我将需要:
- 设置
_piece_detail.first_scan_date_time
为MIN(_scan.scan_date_time)
- 设置
_piece_detail.latest_scan_date_time
为MAX(_scan.scan_date_time)
由于我正在处理数以百万计的记录,因此我试图减少我实际必须搜索的记录数量。以下是有关数据的一些事实:
- _piece_details 表由 分区
job_id
,因此按 , 的顺序运行这些检查似乎是最有意义_piece_detail.job_id
的_piece_detail.piece_id
。 - 扫描记录表现在包含超过 100,000,000 条记录,并按 (zip, zip_4, zip_delivery_point, serial_number, scan_date_time) 进行分区,这是用于将 _scan 与 a 匹配的相同键
_piece_detail
(除了 scan_date_time)。 - 只有大约 40% 的
_piece_detail
记录属于 amailing_group
,但在我们运行完整的连接关系之前,我们不知道这些记录是哪些。 - 只有大约 30% 的 _scan 记录属于
_piece_detail
带有 a 的 amailing_group
。 _scan
每个_piece_detail
. _
现在,我正在寻找一种以体面的方式执行此操作的方法。我最初是从这样的事情开始的:
我认为这可能试图一次将太多内容加载到内存中,并且可能没有正确使用索引。
然后我想我也许可以避免做那个巨大的连接子查询并添加两个左连接子查询来获得最小值/最大值,如下所示:
这些是我将它们转换为 SELECT 语句时的解释:
现在,看看每个人生成的解释,我真的不知道哪个是最划算的。第一个在乘以 rows 列时显示的总行数较少,但第二个似乎执行得更快一些。
在通过修改查询结构提高性能的同时,我可以做些什么来获得相同的结果?
mysql - 设置 MySQL 主 - 主复制
我目前有一台主服务器,并想添加另一台主服务器进行故障转移。
在主服务器上,我将以下内容添加到“my.ini”
添加后:
mysql服务器不再启动......所以我决定首先让辅助服务器正常工作。
问题 2:在新服务器上,我从主目录的“data”/mysql 目录中复制了我的用户文件。我还使用 MySQL 工作台导入了所有数据库。
然后我将它添加到“my.ini”中:
服务器启动正常,所以我决定在主服务器上的复制数据库中添加一个表,但未将更改复制到辅助服务器......
我用谷歌搜索了一下,发现我必须在 mysql 命令行中运行一些命令才能使复制工作。但是当我在辅助服务器上打开它时它不会启动......在命令提示符下打开它时会显示 mysql.exe: unknown variable 'server-id=2"
两台服务器都运行 Windows Server 2012 R2 并安装了 MySQL 5.6.15 64 位。有人可以指导我进行设置的最后一部分吗?
php - MySQL INSERT 查询返回“您的 SQL 语法有错误”错误
当我尝试在表“userstbl”中插入一行时,我在一个简单的 PHP 页面中出现以下错误
错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '\'userstbl\' (\'usr_name\', \'usr_pwd\', \'usr_fname\', \'usr_lname\') 附近使用的正确语法。 \' 在第 1 行
这是代码:
mysql-5.6 - MySQL GROUP BY & ORDER BY DESC
我有一张清单表。这些清单具有名称、类型、版本和版本。要求是按名称和类型对清单进行分组,但提供该清单的最新版本和版本。到目前为止,这是我的查询:
当我这样做时,订购不起作用。我以 ASC 顺序而不是 DESC 获得版本和发布。如果我删除 GROUP BY 子句,那么排序是正确的。建议?蒂亚!
php - which mysql yum repo for mysql 5.6 on EC2 Amazon Linux AMI release 2013.09
we have an EC2 instance running the following
- Linux - Amazon Linux AMI release 2013.09,
- Apache 2.4.6
- php 5.4.23
I need to install MySQL 5.6 but am getting confused with all the Yum repos available at
http://dev.mysql.com/downloads/repo/
- Red Hat Enterprise Linux 5 / Oracle Linux 5 (Architecture Independent), RPM Package
- Red Hat Enterprise Linux 6 / Oracle Linux 6 (Architecture Independent), RPM Package
- Fedora 18, 19, 20
when i run the following shell command
it gives me
so... RHEL 4 !?
If i was to take an educated guess based on
https://forums.aws.amazon.com/thread.jspa?threadID=51647&tstart=0#194519
...it would be the RHEL 6 repo, right ?
mysql - MySql:为归档引擎创建表,强制 auto_increment
我在使用 Engine=ARCHIVE 创建一个简单表时遇到错误,它迫使我对主键列使用 auto_increment,这是我不想要的。(Mysql 5.6)。
例如:
上面的错误是“ERROR 1030 (HY000): Got error -1 from storage engine”,
但是如果我对 PK 列使用 AUTO_INCREMENT 或者不放 PK,则创建表(如下所示)
或者
(顺便说一句,我尝试在没有 PK 的情况下创建表并使用 ALTER TABLE ADD CONSTRAINT ...但 alter 语句失败并出现同样的错误)。
如果我想要 PK 索引,归档引擎中是否必须使用 Auto_Increment。Mysql 参考文档没有说明它(除了你可以有 PK 和没有其他索引)并且可以有 Auto_increment 暗示 Auto_increment 是可选的。
还有其他人面临同样的问题吗?没有 Auto_increment 的 PK 的任何解决方案?
感谢帮助或指导,谢谢
mysql - 在 MySQL 5.6 中启用日志会阻止服务器启动
我已经通过 Homebrew 在 Mac OSX 上安装了 MySQL 5.6.15。
我添加了以下行以my.cnf
启用查询日志记录,但 MySQL 服务器无法使用新行重新启动。我们怎样才能解决这个问题?
添加到 my.cnf
错误:
整个 my.cnf
mysql - 如何在 Windows 中编译 MySQL 示例插件
我需要在 Windows 中编译全文解析器插件,但即使使用原始 MySQL 源示例,我也无法添加它。MySQL 服务器版本是 5.6 x64。使用 gcc 我尝试了以下变体:
但是当我尝试安装它时
我收到以下错误
使用 Dev-C 及其(剥离的 -L 库)
我得到 250K DLL 和
五天的谷歌搜索试错让我无处可去。任何帮助,将不胜感激。