小编dbd*_*mon的帖子

使用 Galera Cluster 代替 Master/Slave Replication 有什么缺点?

使用 Galera Cluster 而不是常规的 Master/Slave Replication 有什么缺点?Galera 的 0 从延迟时间、同步复制和无单点故障看起来很吸引人,那为什么 Galera 集群不常见呢?

mysql replication mariadb xtradb-cluster galera

14
推荐指数
1
解决办法
7840
查看次数

varchar 列的长度 - 使用 255 有优势吗?

我经常遇到列是varchar(255),所以大概这是各种约定。255 是 2^8 - 1。那么 2^n - 1 的长度有什么“神奇”之处吗?或者只是专门255?某些特定varchar长度是否有性能或存储优化优势?或者这只是不再适用于当前版本的 MariaDB 和 MySQL 的旧智慧?

mysql mariadb

11
推荐指数
2
解决办法
8441
查看次数

在 MariaDB / MySQL 中存储实时时间序列的最佳解决方案是什么?

用例:测量创建给定数量的图像。对于每张图像,我们需要存储一小组质量指标(浮点数、双精度数)以及图像整数 [1 ...N]、时间戳和一个或两个外键值。然后应该在 Web 应用程序 (PHP) 中“实时”绘制它以供用户评估。

每个 Web 客户端每 5 秒轮询一次数据库。理想情况下,每组质量指标的存储 + 检索应该花费 < 2 秒(大约)。在最坏的情况下,可能有大约 30 个同时进行的 Web 客户端轮询,并且可能同时写入大约 10 个测量值,从而导致大约 30 次的写入突发。每秒1000组质量指标。

在编程语言中,这类数据可能会存储在数组或列表中。由于我不知道在 MariaDB / MySQL 世界中有任何类似的东西,我只是使用一个常规的 InnoDB 表,上面提到的每个值都有一列。这已经有 90 多万行,预计在未来几个月会增长得更快。

InnoDB 总体上是最好的存储引擎,还是我应该考虑其他?最好的做法是在一段时间后存档数据,也许是在处理完所有测量图像后?它会帮助启用压缩,还是会对性能产生非常负面的影响?

mysql mariadb percona

8
推荐指数
2
解决办法
1万
查看次数

INSERT 给出错误代码:1366。不正确的字符串值:列的 '\xF0\x9F\x98\x80'

我的表结构面临问题:

My_Table_Name1

创建表`My_Table_Name1`(
  `twitter_id_str` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `twitter_screen_name` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  唯一键`twitter_id_str`(`twitter_id_str`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci 

对于数据库,我也有相同的字符集和排序规则:

CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

我正在尝试在此表中插入一个表情符号:

insert into My_Table_Name1 values("2","") 
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个错误:

错误代码:1366。不正确的字符串值:'\xF0\x9F\x98\x80' 列 'twitter_screen_name' 在第 1 行 0.00027 秒

如何解决这个问题?

提前致谢。

mysql mysql-workbench mysql-5.7

4
推荐指数
2
解决办法
3万
查看次数

最大连接数 Maria DB

每次我重新启动 Mariadb 时,我的 max_connections 都会设置为 151,而在 my.cnf 中,我会设置为 300。为什么会发生这种情况?

mysql mariadb configuration mariadb-10.1

4
推荐指数
1
解决办法
1万
查看次数

MySQL 创建表:错误 1005 errno: 150 “外键约束的格式不正确”

尝试创建 EXCHANGE 表时失败:

CREATE TABLE BOOK
(PKACC_NO VARCHAR (20) PRIMARY KEY,
TITLE VARCHAR (50),
AUTHOR VARCHAR (50),
PUBLISHER VARCHAR (50),
EDITION INTEGER (4),
PRICE INTEGER (10));

CREATE TABLE MEMBER
(PKMEMBER_ID VARCHAR (20) PRIMARY KEY,
NAME VARCHAR (50),
TYPE VARCHAR (10),
CONTACT_NO BIGINT (10),
ADHAAR_NO BIGINT(12),
LAST_VISIT DATE );

CREATE TABLE STAFF
(PKSTAFF_ID VARCHAR (20),
NAME VARCHAR(50),
ADHAAR_NO BIGINT (12),
CONTACT_NO BIGINT(10) );

CREATE TABLE EXCHANGE 
(TRANSACTION_ID VARCHAR(20) PRIMARY KEY,
FK1ACC_NO VARCHAR(20),
FK2MEMBER_ID VARCHAR (20),
FK3STAFF_ID VARCHAR(20),
DATE_OF_ISSUE DATE,
DATE_OF_RETURN DATE, …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-5.5

3
推荐指数
2
解决办法
5万
查看次数

如何解决innodb集群冲突

我目前正在维护一个具有三个节点的 innodb 集群。它运行良好,但有时会出现一个节点,MISSING然后我必须将其重新上线。

问题是我插入了一个没有主键的表。然后一个节点失败了。当我想将故障节点重新加入集群时,它说它无法加入,因为有一个没有主键的表。我更改了集群中的表以为其提供主键,但故障节点仍然抱怨相同。所以我删除了故障节点中的表并期望它会重建该表。

现在它说

ERROR: Group Replication join failed.
ERROR: Error joining instance to cluster: '192.168.123.45@3306' - Query failed. 3092 (HY000): The server is not configured properly to be an active member of the group. Please see more details on error log.. Query: START group_replication (RuntimeError)
Run Code Online (Sandbox Code Playgroud)

在我运行 cluster.checkInstanceState('root@192.168.123.45:3306'); 后

The instance '192.168.123.45:3306' is invalid for the cluster.
The instance contains additional transactions in relation to the cluster.

{
    "reason": "diverged", 
    "state": "error"
}
Run Code Online (Sandbox Code Playgroud)

我知道这是因为不同数据库中的状态不一致。但是我搜索了互联网,但没有关于如何解决 innodb 集群冲突的文档。任何意见将是有益的!

mysql innodb mysql-innodb-cluster

2
推荐指数
1
解决办法
9599
查看次数

'kill &lt;query id&gt;' 给出错误 1095 (HY000):你不是线程的所有者......即使我是

ALTER TABLE在 MariaDB Galera Cluster 10.2 上的一张大桌子上做了一个,但等待一段时间后我改变了主意并试图终止连接。然而,MariaDB 说ERROR 1095 (HY000): You are not owner of thread 123即使我绝对是所有者。那么发生了什么?

mariadb galera

2
推荐指数
1
解决办法
2430
查看次数