问题标签 [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 投票
3 回答
1545 浏览

mysql - innobackupex 恢复更改 root 和 debian-sys-maint 密码。mysql重启失败

我必须制定一个备份策略。我选择 innobackupex 在 Debian 6 Squeeze 上运行。有两台服务器,生产服务器和备份服务器(如果生产服务器崩溃,它应该可以工作)。没有复制,我使用 rsync 传输备份。我有一个 php 脚本,它在 conf 文件中查找以了解何时必须进行备份。

我的问题是:如何使用 innobackupex 跳过 mysql 数据库或 users 表?

关于主人:我执行以下命令:

这很好用

在备份服务器上,我只需要准备和恢复文件:

一切都很好,但是在备份服务器上,root 用户的密码甚至密码都更改了debian-sys-maint

root 用户密码成为主用户的密码。

我做了一个脚本来纠正这个问题。debian-sys-maint密码在文件中以明文形式写入,因此将其解/etc/mysql/debian.cnf压缩,但在 php 中(我使用 pdo 对象)我无法更改此密码,因此无法重新启动 mysql 服务器。有时我无法检索 root 用户的密码,它不是主服务器的 root 密码。

有时我可以使用 mysql 停止/启动 mysql /etc/init.d/mysql stop/start,有时使用 service mysql stop/start it 这不起作用我尝试使用:(mysqladmin -u root -p shutdown如果我可以更改密码)

如果我真的无法停止 mysql,我会这样做killall mysql(我知道这是错误的),然后我更改了 root 密码:

有人遇到和我类似的问题吗?如何使用 innobackupex 跳过 mysql 数据库?

0 投票
1 回答
631 浏览

mysql - MySQL 主从复制似乎只是在更新从属上的二进制日志

我有一个非常奇怪的问题,我设置了主/从复制,从属是 Percona Cluster 节点。

一切似乎都运行正常,但是从属数据库中没有数据出现,数据文件本身也没有在从属数据库上增长。

奇怪的是,虽然我可以看到二进制日志的文件大小在从属服务器上增长了很多(目前此服务器上没有其他运行)。

我的问题是这个.. 在主/从复制期间 InnoDB / XtraDB 在将数据刷新到实际数据库之前是否在从属的二进制日志中缓存了一定数量的数据?

如果是这样,我可以配置这个“冲洗”。

非常感谢

0 投票
3 回答
2352 浏览

mysql - MySQL 5.6 死锁两次锁定相同的行?

我看到 MySQL 5.6 出现死锁,因为似乎试图锁定同一行两次。

从下面的代码片段中,id = (11, 12, 13, 14, 15) 的行已经有一个锁。当另一个事务试图获取这些锁时,MySQL 使事务检测到死锁失败。

我对此的解读是否正确?如果是这样,MySQL 5.6 中有什么可以解决这个问题吗?FWIW,5.5 中的相同代码工作得很好(数百次迭代)。

0 投票
1 回答
162 浏览

mysql - AI 列与 Percona XtraDB Cluster 的值存在差距

我们正在运行 Percona XtraDB 集群,集群中有 4 台机器。我注意到我们的主键列是一个 AUTO_INCREMENT 列,其中有随机数间隙。例如:

我很好奇为什么会这样。我正在阅读有关我们机器上启用的innodb_locks_unsafe_for_binlog选项的信息,我觉得它与此有关。但我想确定这没问题。

我们正在经历随机死锁,我想消除这个配置项作为原因,因为它应该有助于防止我读到的死锁。

这样的PK有差距不好吗?我觉得这不应该发生。

0 投票
2 回答
1146 浏览

php - PHP PDO - 不在循环中插入所有语句

让我们想象一下我们应该使用 PDO 在循环中插入大量行的情况。

这样,所有 100 行都不会插入到数据库中。第 23 行的 echo 将输出如下内容:

1 2 3 4 5 ... 59 60 61 61 61 61 61 61

第 20 行的 print_r 将输出

PDO 错误代码 00000 表示一切正常。并且没有行受到影响。如果我尝试手动插入 $result 为假的行 - 一切正常。

并且只有 61 行将插入到表中。每次脚本运行时,这个数字都在变化,这真的很奇怪

为什么?

以另一种方式 - 我们可以从所有插入查询中进行一个查询,并且将插入所有 100 行。这是带有代码的 pastebin的链接。

这是一个表结构:

顺便提一句。我使用带有 HandlerSocker 插件的 percona MySQL 服务器(5.5)。我尝试使用 HandlerSocket 插入行。这是一个代码

我在此之后 - 我在数据库中有 ~ 14000 行。为什么?另外,如果我更改循环数(变量$loops_number)-

我的 MySQL 服务器似乎有问题?

0 投票
1 回答
411 浏览

php - innobackupex - 从命令行获取输出

我正在运行innobackupex脚本,但我不知道如何从脚本中获取输出?我需要最后一行来检查脚本是成功还是失败..

脚本正常工作,备份 zip 已创建,但$output为空

更新

现在命令没有通过管道传输到 gzip,但仍然没有输出

0 投票
1 回答
1971 浏览

mysql - Percona 工具 pt-table-sync

在包含在复制表中发现差异的pt-table-sync表的 mysql 数据库上运行时,继续出现访问被拒绝错误。pt-table-checksum

从主服务器运行它。

任何想法我做错了什么?

0 投票
2 回答
40 浏览

mysql - 键被报告为多余的,但它们真的是这样吗?

我正在尝试通过删除冗余键来优化表的架构。percona 工具包和 common_schema 都告诉我以下键是多余的:

我知道 deviceName Key 和唯一键 devchascarddom 共享最左边的属性 deviceName,但在我看来唯一键出现一次,而列表中有几个 deviceName。我想我要说的是,在这里删除 Key deviceName 对我来说似乎没有意义,但我不是 mysql 专家——我应该放弃它还是这只是这些工具向我报告的方式'将不得不丢弃?

0 投票
1 回答
533 浏览

mysql - MySQL 5.5 中的大量 INSERT 语句锁定其他表上的插入

我试图了解我在使用 MySQL 5.5 服务器时遇到的问题。

该服务器托管许多数据库。每天在某个特定时间,一个进程会对该数据库中的两个表运行一系列插入操作。此过程持续 5 到 15 分钟,具体取决于插入的行数。

这个过程完美运行。但它有一个非常意想不到的副作用。所有其他插入和更新在与被插入的两个无关的表上运行,只是坐下来等待进程停止。该数据库之外的读写工作正常,SELECT 语句也正常。

那么单个表怎么可能阻塞数据库的其余部分而不是整个服务器(由于加载)?

一点背景:-

  • 插入的表是具有 10 - 2000 万行的 MyISAM。

  • MySQL 是 Percona V5.5,它为一个运行在 Debian 上的从属服务器提供服务。

  • 插入记录的进程不需要显式锁定。

  • 没有任何插入语句不会从任何其他表中选择数据。它们也是 INSERT IGNORE 语句。

附加信息:

发生这种情况时,PROCESS LIST 中没有 LOCK 表条目,并且插入导致此问题的记录的处理器不会发出任何表锁。

我已经调查了表锁定的常见原因,并且我认为我已经将它们排除在外。这种行为要么与 MySQL 的工作方式有关,要么与拥有大型数据库文件的怪癖有关,甚至可能与 OS/文件系统有关。

0 投票
1 回答
1031 浏览

mysql - Percona 服务器初始安装 PID 文件

当我运行apt-get install percona-server-server-5.6时,percona 服务器被安装并启动。运行的进程 ( ps -ef | grep mysql) 看起来像这样(HOSTNAME 被混淆了):

我的问题是这个默认的 PID 文件来自哪里?下没有my.cnf文件,/etc/mysql并且下的my.cnf文件/usr没有任何此类信息。这导致了一个问题,因为当我部署配置文件并尝试重新启动服务器时,该框显然不起作用。我相信 PID 文件的正确默认值是/var/run/mysqld/mysqld.pid.