标签: percona

如何在最短的停机时间内从 MySQL 迁移到 MariaDB 或 Percona?

我想将我的 MySQL 5.1 数据库迁移到以下数据库之一:MariaDB、PerconaDB 或 MySQL 5.6

有没有办法在不停机或尽可能减少停机时间的情况下执行此操作?如何?

数据库大小为 40GB,每分钟有数百次写入和读取。有 10 台服务器连接到它,它现在是一个 sing db 服务器。

mysql mariadb percona mysql-5.1

3
推荐指数
1
解决办法
2276
查看次数

如何优化这个检查 2.84M 行和 29.49k InnoDB 不同页面的特定 MySQL 查询

我试图弄清楚为什么一个查询需要大约 5 秒才能完成以及如何优化它。以下是我目前收集到的信息:

1. EXPLAIN statement for the query:

EXPLAIN EXTENDED
SELECT SUM(meta2.meta_value) FROM ****_posts as posts 
LEFT JOIN ****_postmeta AS meta ON posts.ID = meta.post_id 
LEFT JOIN ****_postmeta AS meta2 ON posts.ID = meta2.post_id 
WHERE
meta.meta_key       = '_customer_user' AND
meta.meta_value     = '15448' AND
posts.post_type     = 'shop_order' AND 
posts.post_status   IN ( 'wc-processing','wc-completed' ) AND
meta2.meta_key      = '_order_total';


+----+-------------+-------+--------+--------------------------+----------+---------+------------------------------+--------+----------+-------------+
| id | select_type | table | type   | possible_keys            | key      | key_len | ref                          | rows   | filtered | Extra …
Run Code Online (Sandbox Code Playgroud)

mysql innodb percona

3
推荐指数
1
解决办法
598
查看次数

什么是information_schema.CLIENT_STATISTICS 中的“空查询”?

客户端统计表有一个“空查询”列。这意味着什么?简单的谷歌搜索只是告诉我“这个客户端的连接向服务器发送空查询的次数。” /面掌

mysql percona

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

未知的存储引擎“XtraDB”

当我想创建表时,我安装了 Percona Server 5.6.12-rc60.4,例如:

CREATE TABLE IF NOT EXISTS `mydb`.`table` (
`id` INT NOT NULL AUTO_INCREMENT ,
`title` VARCHAR( 64 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
) ENGINE = XtraDB DEFAULT CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

发生此错误:

 #1286 - Unknown storage engine 'XtraDB' 
Run Code Online (Sandbox Code Playgroud)

如何使用 XtraDB 引擎创建表?

mysql storage-engine percona percona-server xtradb

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

MySQL 默认不使用 PRIMARY KEY 进行排序

我在 5.6.35-81.0 Percona Server 上有一个大型 MySQL 表,主键中有间隙。该表有大约 5300 万条记录,自动增量键现在约为 3.7 亿条。该表是电话号码列表,用户添加/删除号码非常频繁,因此 BIGINT 的 PRIMARY 键内部有间隙。

我现在面临的问题是,当我做一个简单的 SELECT * FROM 表时,MySQL 默认不使用 PRIMARY 键对结果进行排序。它使用表中的电话号码字段对数据进行排序,因此数据被按顺序选择,而不是按顺序保存在数据库中。

带有 ORDER BY id 的 Offcourse SELECT 需要很长时间。另一种解决方案是将所有数据复制到另一个表,但这需要应用程序停机。我怎样才能解决这个问题或在未来避免这种情况?

CREATE TABLE `contacts` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `phonebook_id` int(11) NOT NULL,
  `campaign_id` int(11) DEFAULT NULL,
  `contact` varchar(45) NOT NULL,
  `status` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `admin` tinyint(1) unsigned NOT NULL DEFAULT '0',
  `call_status` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `active_call` tinyint(1) unsigned NOT NULL DEFAULT '0', …
Run Code Online (Sandbox Code Playgroud)

mysql performance percona

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