我尝试安装 SQL2008R2 - SQL2012 - sql2014
2014-07-17 16:31:16.00 spid14s Error: 17190, Severity: 16, State: 1.
2014-07-17 16:31:16.00 spid14s Initializing the FallBack certificate failed with error code: 1, state: 20, error number: 0.
2014-07-17 16:31:16.00 spid14s Unable to initialize SSL encryption because a valid certificate could not be found, and it is not possible to create a self-signed certificate.
2014-07-17 16:31:16.00 spid7s Starting up database 'msdb'.
2014-07-17 16:31:16.01 spid12s Starting up database 'mssqlsystemresource'.
2014-07-17 16:31:16.01 spid14s Error: 17182, Severity: 16, State: …Run Code Online (Sandbox Code Playgroud) 我是 MySQL 世界的新手,对两者感到困惑。它们不是都提供高可用性和分片吗?
另外,WebScaleSQL 如何比较?
我使用的设置是主从复制配置中的 MySQL 5.5,但我们必须使用“混合”复制(基于语句和行),因为我们使用需要它的应用程序,并且它恰好在我们的同一台上服务器。
我们最近停止了复制,我想确保我们已正确恢复。
我下载并安装了 Percona Toolkit,但在这种情况下我似乎无法使用 pt-table-checksum,特别是因为基于行的复制:
2.27.5 限制使用基于行的复制 pt-table-checksum 的副本需要基于语句的复制,并且它在主服务器上设置 binlog_format=STATEMENT,但由于 MySQL 限制,副本不支持此更改。因此,校验和不会使用基于行的复制来复制任何副本,这些副本是进一步副本的主副本。该工具会自动检查所有服务器上的 binlog_format。请参阅 --[no]check-binlog-format 。(错误 899415)
是否有其他选项可以对基于行的复制表进行校验和?
我在 Percona 论坛上发现了这个,它说它可以工作,但我不能让它改变我的 cnf 文件,因为它声称它可以。当我尝试运行它时,它还会发出以下警告:
副本 mysql-b.example.com 具有 binlog_format MIXED,这可能会导致 pt-table-checksum 中断复制。请阅读该工具文档的限制部分中的“使用基于行的复制的副本”。如果您了解风险,请指定 --no-check-binlog-format 以禁用此检查。
如何优化以下 SELECT WHERE IN 情况?
我有一个包含超过 1 亿行且只有 3 列的表。主键 (col1) 是 127 varchar。我正在执行 SELECT col1 WHERE col1 IN (...),其中 IN 子句是 5,000 个字符串。我只是想看看数据库中 5,000 个字符串中的哪一个作为主键。
对于专用服务器和 InnoDB 表,查询需要 3 到 10 秒,这是不可接受的。我不认为 1 亿多行对于 MySQL 来说应该不会太困难,即使选择 5k 行,但也许我错了?
可以做些什么来优化这个?我读过一些关于 FULLTEXT 键的内容 - 因为键是 127 varchar,所以这些会更好吗?或者某种类型的 JOIN 或 UNION 是否会比大型 IN 子句加速此查询?
任何帮助,将不胜感激!谢谢!
- - 编辑 - -
SHOW ENGINE INNODB STATUS;
| InnoDB | |
=====================================
2014-07-14 10:59:19 2bf5cf25700 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the …Run Code Online (Sandbox Code Playgroud) 我目前正在考虑建立一个数据库集群(MySQL Galera 或 Percona),但我只有 2 台机器。
但是,根据我读过的许多来源(这篇来自 Mariadb KB 的文章),集群中的最小节点大小应为 3,以避免出现裂脑情况。
为了避免裂脑情况,集群中推荐的最小节点数为3。阻止状态转移是需要至少3 个节点才能在其中一个成员发生故障并需要重新启动时享受服务可用性的另一个原因。虽然其中两名成员将从事状态转移,但其余成员将能够继续为客户请求提供服务。
所以我想知道我是否可以在两台机器上运行 3 个(或更多)docker 容器,每个容器都运行一个数据库服务器。如果其中一台机器出现故障,集群中仍然有 3 个节点,因此不会出现裂脑问题。
感觉像是作弊,但我想不出不这样做的理由。
这个设置有意义吗?
我对 Innodb 缓冲池的工作方式有些困惑。
假设我有一个包含 15 条记录的表,如果我执行:select ... between 1 to 10那么该结果将缓存在缓冲区(?)中。我的问题是:如果我select .... between 1 to 15下次执行,那么它将如何获取记录。它是从缓冲区中选择 10 条记录,从磁盘中选择 5 条记录吗?
我已阅读pt-online-schema-change文档并了解它的工作原理是创建触发器并在块时间秒内复制数据块(默认为 0.5 秒)
让我们考虑下面的情况。
我们有一个 5 GB 的表 TBL1,正在使用 PT-ONLINE-SCHEMA-CHANGE 进行更改
PT-ONLINE-SCHEMA-CHANGE 使用所需的更改创建了新表,在 TBL1 上添加了触发器并开始复制。
复制了 10 个数据块,并开始复制第 11 个数据块,其大小约为“X”MB。根据工具,该块最多可在 500 毫秒或 0.5 秒内复制
在第 11 个块复制期间,应用程序发出了一个 UPDATE,它必须修改属于第 11 个数据块的有效行。
我的问题是现在发生以下哪些事情。原始表现在发生?
A) Update will be blocked till the chunk be copied and then applied on original table
which gets updated through triggers on new one.
B) Update will be performed on original table and data chunk will be re copied all
over again.
Run Code Online (Sandbox Code Playgroud)
如果选项 A 是答案,那么 PT-ONLINE-SCHEMA-CHANGE 如何实现无锁? …
mysql ×6
alter-table ×1
binlog ×1
clustering ×1
errors ×1
galera ×1
innodb ×1
installation ×1
mysql-fabric ×1
percona ×1
performance ×1
query-cache ×1
replication ×1
sql-server ×1
webscalesql ×1