问题标签 [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.
ubuntu - Mysql 5.6 中缺少一些文件
我有一个使用 sqlalchemy 的网站,我安装了 MySQL 5.6.17 当我在 Linux Ubuntu 上运行我的应用程序时,出现错误:
sqlalchemy.exc.OperationalError: (OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)") 无 无
我的 /opt/mysql/server-5.6/my.cnf 文件如下所示:
mysql - MySQL 5.6 显示错误的“second_behind_master”
这里 second_behind_master 显示为 0,即使当前 slave 拥有 Relay_Master_Log_File: mysql-bin.000031 并且 master 拥有 Master_Log_File: mysql-bin.000032。
php - 使用 MySQL 5.6 版从源代码编译 PHP
我正在尝试从源代码编译 PHP 以使 ZTS 正常工作。我有 PHP 的源代码,我尝试安装依赖项
apt-get build-dep php5
我还为 Ubuntu 14.04LTS 安装了 MySQL 5.6,并且在命令之后出现此错误:
以下软件包具有未满足的依赖关系: mysql-server :依赖:mysql-server-5.5 但不会安装 E:无法满足 php5 的构建依赖关系。
无论如何绕过这种依赖关系,因为 MySQL 5.6 可以与预构建的 PHP5 一起工作,但由于缺少依赖关系,我无法开始编译?谢谢!
mysql - mysql 5.6:删除显式列整理
我正在运行 mysql 5.6。
我从以前的开发人员那里继承的架构中的某些列具有明确指定的collate
子句。
所有显式指定collate
的子句都与数据库的默认子句相同collate
。
有什么方法可以删除显式列collate
子句吗?
与我的 current 应该没有功能整理差异collate
,但我想要以下内容:
collate
当我从 mysql 请求 语句时获取列定义 sans子句create table
(我希望能够将来自代码存储库的表创建脚本与create table
从不同 mysql 服务器上的不同模式实例获得的语句进行比较;显式列collate
子句仅在某些实例,但不是其他实例,这需要我使用比纯文本差异更复杂的差异)如果我更改它,让
collate
这些列中的自动更改为新的默认数据库collate
然而,1) 比 2) 重要得多,因为我可能永远不会再改变了collate
。
谢谢。
sql-view - 合并算法视图只读
以下是我的看法:
没有任何函数或子句会导致它使用临时表,但它以只读方式返回。谁能指出为什么以及我可以做些什么来使其能够更新基础表的原因?
我认为原因可能是left join
,但这不在 MySQL 文档中描述的列表中。
mysql - MySQL LIKE Query 从 5.1 到 5.6 更改为全表扫描
出于某种原因,MySQL 5.6 会进行全表扫描,而 MySQL 5.1 则不会。为什么会这样?
编辑:两个表具有相同的确切索引
在 MySQL 5.1 上
在 MySQL 5.6 上
mysql - 使用嵌套集模型时跟踪更改
我正在考虑将我的组织层次结构转换为从这里收集的嵌套集合模型。我把它放在一个SqlFiddle中,希望能帮助可视化它。有什么是简化的,有/将会有更多的级别,但这应该适合帮助解释。
在我的组织中,教练经常更换。平均每年每支球队会有2-3名新教练,教练会在组织中上下变动,波动很大。在教练之上,一切都将保持不变,但可能/将会发生变化。
使用我们的旧模型(邻接列表),我们能够通过由触发器填充的其他表来跟踪更改,但是这个新模型将有新的跟踪要求。我看到我们需要跟踪rgt
和lft
数字,以及删除日期和添加日期。此外,我看到为任何给定日期或日期范围“重建”树的一些复杂性。
我考虑过的两个选项是:
首先,创建一个表来跟踪更改,跟踪rgt
和lft
列以及日期值,然后从树中删除教练/团队。我认为这种方式很难“重建”历史查找。
其次,将“移除”的教练/团队留在树中,向树中添加一个布尔值,指示教练/组织是否仍在使用中,并添加一个仅跟踪日期和前父级的更改表。这将使历史查找更容易(我认为日期范围方面很困难),但会使树变得混乱和膨胀。
哪个选项会更好?有没有我错过的选项?
我们会经常使用历史查询,但对于一次性查询,所有聚合数据将在第二天按组织级别进行编译和存储。
mysql - mysql server 5.6 和 mysql (client) 5.5 完全兼容吗?
我在这里的某些方面有点新手,没有找到相关信息......
我有一个安装了 5.5 版本的 mysql 客户端的 AWS 实例。还有一个带有 mysql 5.6 的 RDS 数据库实例(为了使用 t2.micro)。我不这么认为,但是,在您的意见/经验中,这会在它们之间请求查询(通过 PHP,特别是 Symfony2)时产生某种麻烦吗?
我希望不是;但如果是的话,那么在实例中升级我的mysql客户端是绝对必要的,或者有没有其他方法可以在5.5的mysql服务器上使用t2.micro?
任何指导或相关经验将不胜感激。
indexing - Mysql 5.6 相同查询的不同执行计划。(Java客户端与终端)
下面的查询给出了 GUI 客户端 (DB Viz) 与终端之间的 2 个不同的执行计划,并且当我们从 GUI/Java 应用程序调用时花费的时间太长。
-- 当我们从 mysql 终端(直接从 mysql 客户端在服务器上)执行查询时,查询在亚秒内运行。但是当我们从 Java 应用程序/GUI 客户端(如 DBVIz)调用此查询时,需要 55 秒。
-- 预期结果是 <10 行。
-- 我们使用的是Mysql 5.6。本次查询涉及的所有表都是innodb。
-- 问题从 5.6 开始,我们使用的是 5.0,最近升级到 5.6。
-- 在这个查询中需要注意的是,这是在具有不同数据类型的列上连接 2 个表。
-- 我们在基于列“finer.refernce”连接的所有查询中都有类似的问题,该列是一个 varchar(255) 列,它是一个通用列,它存储整数值并将与其他表连接将有整数 ID。
-- 我们在 finer.refernce 上有索引 idxf_reference。
-- 请注意,查询具有显式类型转换 CAST(lb.id AS CHAR)。也尝试了 CONVERT(lb.id,CHAR(255)) 并且结果相同。
-- GUI中使用的mysql驱动是mysql-connector-java-5.1.25。还尝试了 mysql-connector-java-5.1.31。并有同样的问题。
-- GUI 上的分析显示查询在“发送数据”状态下花费了 52 秒。在终端中,“发送数据”是亚秒级的
-- 执行计划的重要区别在于,GUI 计划不使用索引,而是使用“使用连接缓冲区(块嵌套循环)”。
-- 尝试了 FORCE INDEX,但仍然没有在 GUI/Java 应用程序上使用索引。
-- 这与 BNL/BKA 算法有关吗?
查询:~~~~~~
SELECT ftc.display_name , fl.* FROM lpb lb INNER JOIN 更精细 fl ON fl.reference = CAST(lb.id AS CHAR) LEFT JOIN fintran ftc ON fl.transactioncode_id = ftc.id WHERE lb.ld_id = 12345;
该计划有 3 行,其中 2 行相同,不同之处在于“fl”表。在该计划的摘录下方。
从 GUI 计划:
~~~~~~~~~~~~~~
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE fl ALL (null) (null) (null) (null) 30100452 使用 where;使用连接缓冲区(块嵌套循环)
从终端计划:
~~~~~~~~~~~~~~~~~~~
+----+-------------+--------+--------+------------- ----------------+-----------------------------+--- ------+------------------+------+----- ------------------+ | 编号 | 选择类型 | 表| 类型 | 可能的键 | 关键 | key_len | 参考 | 行 | 额外 | +----+-------------+--------+--------+------------- ----------------+-----------------------------+--- ------+------------------+------+----- ------------------+ | 1 | 简单 | 佛罗里达 | 参考 | idxf_reference | idxf_reference | 258 | 功能 | 1 | 使用索引条件 |
+----+-------------+--------+--------+------------- ----------------+-----------------------------+--- ------+------------------+------+----- ------------------+
mysql - 更改“选项文件”my.ini 的 MySQL 路径
我已将我的 MySQL 服务器从 5.0 升级到 5.6。
除了选项文件外,一切都很好。
当我尝试通过 Workbench 6.1 创建一个新的 my.ini 文件时,系统说它无法在 Program Files/MySQL/MySQL Server 5.0 下创建一个 my.ini 文件
我已经卸载了 5.0,现在我想告诉系统在 5.6 文件夹上工作。
进入“管理 - 服务器状态”页面时,我可以看到那里的所有内容都定义为 5.6 文件夹。
我应该怎么办?
提前致谢