问题标签 [percona]

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.

0 投票
2 回答
2039 浏览

mysql - chef_gem 的依赖项

我目前正在更新社区 MySQL 食谱,以便可以使用它来安装 Percona,它是现有 MySQL 的替代品,但具有一些附加功能,可以轻松启用 HA 和集群。

在我想能够使用食谱中的“红宝石”食谱之前,我所有的添加都运行良好。这使用“chef_gem”提供程序来安装“mysql”rubygem。由于这是一个本地扩展,因此需要对其进行编译,为此,需要安装 MySQL 的开发文件。

如果我使用普通的 MySQL 二进制文件一切正常,因为 MySQL 已经在 Centos 存储库中。但是,为了安装 Percona 软件包,我需要确保存储库位于“/etc/yum.repos.d”中。我遇到的问题是在尝试安装 mysql gem 之前我无法让厨师完成这项工作。

因此,最终发生的是系统尝试在没有安装 MySQL (Percona) 的开发头文件的情况下编译 mysql gem,即使正确引用它们,由于尚未设置存储库,因此找不到它们。

我创建了一个 'percona-repo' 配方,它使用 'yum' 提供程序来完成这项工作,但它不会在 'chef_gem' 之前运行。我知道厨师有两个运行阶段,我假设“chef_gem”在编译阶段收集所有宝石,无论它们在整个运行列表中的位置,然后安装开始时请求的所有项目。然后将运行存储库配方。

我尝试使用 Ruby 配方来执行以下操作:

但这不起作用。chef_gem 总是在我的“precona_repo”配方之前运行,所以包安装失败,如果它到了那么远,意味着 ruby​​ gem 安装也会失败。

如果有人对我如何解决这个问题有任何好主意,请告诉我。

更新

感谢 Mark 的建议,我现在更新了 'ruby' 配方,以便我调用资源来添加新密钥并将 repo 存储到服务器:

现在我可以看到这些在厨师运行中被激活。但是,当我查看文件系统时,文件不存在,因此 mysql 客户端软件包的安装失败。

我在 yum 食谱中进行了一些挖掘,发现 yum_key 的提供者尝试运行“remote_file”来下载密钥,正如你所期望的那样。但是,此“remote_file”未运行。因此,我尝试将其作为上述资源运行,但它的名称中有一个变量,因此我无法有效地调用它,例如:

我想我在这里开始有点像兔子沃伦了。我将继续尝试让这件事发挥作用,但欢迎更多想法。我试图不走在这个秘籍中直接在 repo 中编码的路线,因为我更喜欢重用我知道有效的东西。

0 投票
1 回答
933 浏览

php - Symfony 和 Percona

Symfony 2 是否支持 Percona?或者我应该坚持使用 MySQL 吗?我正在运行 Debian 6(挤压)并安装了 MySQL,但在我安装 Symfony 之前我在想 Percona 可能会更好(更快)交易?

谢谢。

0 投票
1 回答
556 浏览

mysql - 我们可以将主键作为列或列集的函数吗

我正在尝试定义一个表,我想在其中定义主键具有反向列。我想知道它是否可能在 innodb 中?

我正在创建一个表

但相反,我想要PRIMARY KEY (reverse(id))

0 投票
1 回答
989 浏览

mysql - 使用 Percona pt-query-digest 仅分析特定数据库的慢查询日志

Percona 工具脚本 pt-query-digest 看起来对于分析 MySQL 慢查询日志非常有用。有人知道我如何让脚本只查看与特定数据库相关的查询吗?

谢谢

0 投票
1 回答
913 浏览

mysql - MySQL inet_aton() 偶尔返回 null

我将数据插入到日志表中,包括 IP 地址。出于某种原因,IP 列有时是 NULL'ed。在大多数情况下(占所有记录的 99.9%),IP 被正确记录。

IP 使用 inet_aton() 函数存储在无符号 INT 列中。这会将 IP 地址从它的书面点分隔形式 (zzz.xxx.yyy.www) 转换为其数字形式。

MySQL 文档说明了有关 INET_ATON() 和 NULL 的以下内容:

如果 INET_ATON() 不理解其参数,则返回 NULL。

INET_ATON() 可能会或可能不会返回短格式 IP 地址的非 NULL 结果(例如 '127.1' 作为 '127.0.0.1' 的表示)。

我一直在记录流入查询的数据,并验证了被绑定的参数确实包含 IP 地址而不是空值。他们的 IP 地址看起来不错,如果我手动运行

选择 INET_ATON('zzz.yyy.xxx.www');

结果是一个数字表示,正如预期的那样。

为了完整起见,代码(注意:删除了看似不相关的列):

最后,虽然我怀疑它是否相关,但 MySQL 版本信息:

对我来说,这很神秘。关于如何进行进一步调试的任何建议,有人吗?

0 投票
1 回答
560 浏览

mysql - 查询缓存在本地设置上,但从不在服务器上?

我在一个项目的查询缓存方面遇到了很多麻烦:我正在运行 MySQL 的 Percona 风格,在我的本地开发机器上和生产服务器上的版本相同。现在,启用查询缓存在我的本地机器上给了我很好的结果:几乎所有应该缓存的查询,实际上都是。

现在,生产服务器上没有缓存完全相同的查询。一切都一模一样;mysql 变量、数据库内容、代码库、登录用户……但在生产环境中,只有少数查询被缓存,最重要的查询都被跳过了。而且我不知道为什么:-)

因此,在寻找解决方案时,我正在使用以下查询,用于从主题表中选择最新的 3 个主题:(这是最“重”的查询,也是我绝对想要缓存的查询!)

因此,首先,SHOW VARIABLES LIKE '%query_cache%给我相同的结果,无论是在本地还是在生产中:

运行上面的查询在第一次运行后被缓存在本地,这SHOW PROFILE清楚地告诉我它的跟踪接近尾声:

第二次调用按预期从缓存中返回查询。

在生产服务器上,运行此查询永远不会将其存储在缓存中。结果集完全相同,并且显然没有使用会使查询缓存无效的语句(根据http://dev.mysql.com/doc/refman/5.1/en/query-cache-operation上的手册.html - 我确定上述查询确实符合缓存要求。)

为了完整起见,SHOW PROFILE生产服务器上相同查询的完整输出粘贴在这里: http: //pastebin.com/7Jm5rmVd

此外,值得注意的是,虽然两台服务器上的配置完全相同,但我的本地版本是 5.5.27,比生产版本 5.5.17-55 上的版本稍新。难道这就是问题..?

我将本地服务器的完整SHOW VARIABLES;输出与生产服务器进行了比较,以查看是否缺少任何内容,但除了系统时区和日志文件的路径等之外,没有什么不同。

那么,你们中的任何人都知道下一步该去哪里寻找吗?或者有任何线索可能导致这种情况?

0 投票
1 回答
265 浏览

java - 医院收银员的多柜员模型

我目前正在开发一个医院管理系统。我的申请将在医院有多名收银员,他们 24/7 全天候工作,他们从患者那里收钱并签发收据凭证或在退款的情况下将钱退还给患者。

目前,我正在为每笔交易存储员工用户帐户号,在一天结束时,员工打印出他用他必须发送给会计部门的总金额进行的交易清单。但我需要有人告诉我需要什么政策来防止员工在他/她的现金箱中的总金额出现任何错误。

我是否需要阻止其他人删除或修改记录,即使是会计部门的负责人?

我觉得我需要一些作为银行出纳员的东西,但我找不到可以帮助我或向我解释我到底需要在这部分的政策中加入什么的东西。

我正在使用:Java 作为 GUI 和编程语言,MySQL (Percona) 作为我的数据库,Crystal Reports 作为我的报告和打印解决方案。

0 投票
1 回答
531 浏览

mysql - percona mysql 5.5.25a 服务器复制速度非常慢

我已经使用 Percona 5.5.25a 服务器设置 MySQL 复制作为 MySQL 5.0.95 主服务器的从属服务器。奴隶追上主人的速度很慢。它现在落后于主人大约 4 天。master 和 slave 都运行在 VM 节点上。两个节点的物理配置相同。两者的 MySQL 配置也相同。

当我把slave换成5.0.95后,slave立马赶上来,从不落后master。

我使用 Innodb 作为引擎。最初,当复制开始时,从站上的 Innodb 状态显示复制期间表上有锁。此表上的每次更新都会导致锁定保持大约 15 到 20 分钟。我在复制中忽略了这个表。在此之后,从站中没有观察到锁。但是slave上的QPS只有4。以这个速率,slave永远赶不上master。

任何有关如何解决此问题的建议将不胜感激。

0 投票
1 回答
578 浏览

mysql - 带有事务插入或更新的 MySQL 触发器

我正在使用 mysql db & java,所以在我的应用程序中我需要使用触发器,但我需要在插入或更新时保存它。当在表 A 中插入新记录时,触发器将在另一个表 B 中插入一些信息。同样,在对表 A 中的记录进行更新时,触发器将更新表 B 的记录。

如果在更新或 insrt 回滚期间进行事务,这是否会回滚触发器所做的任何更改。??!!

0 投票
2 回答
3645 浏览

mysql - Mysql2::Error: 不正确的字符串值 Rails 3 UTF8

我有一个应用程序可以处理大量其他语言的数据(网页标题和元描述)。我最近从 MySQL 切换到 Percona,发现了 MySQL 似乎默默地出错的所有错误。

我唯一没有设法修复的是

我查看了当前的问题和答案,但它们都假设已知编码转换为 UTF8,我不知道编码。

我想做的是让 rails 将其转换为 UTF8(我尝试过 force_encoding 但没有用),或者我想检查它是否是 UTF8,如果没有摆脱它。