percona

MySQL can take more than an hour to start

旧巷老猫 提交于 2019-12-23 02:29:33
问题 I have a mysql (Percona) 5.7 instance with over 1Million tables. When I start the database, it can take more than an hour to start. Errorlog doesn't show anything, but when I trace mysqld_safe, I found out that MySQL is getting a stat on every file in the DB. Any idea why this may happen? Also, please no suggestion to fix my schema, this is a blackbox. Thanks 回答1: This turned out to be 2 issues (other than millions of tables)! When MySQL start, and a crash recovery is needed, as of 5.7.17, it

PXC搭建详细步骤,适合小白

独自空忆成欢 提交于 2019-12-22 04:17:37
PXC搭建详细步骤,适合小白 PXC搭建步骤 第一步,下载PXC组件 共包含三个安装包,Percona XtraDB Cluster,Percona XtraBackup, Percona Release。 1:登录官网:https://www.percona.com/downloads/ 国外域名, 访问速度较慢,需要耐心等待,有条件的可自行想办法提高访问及下载速度(手动捂脸) 2:下载Percona XtraDB Cluster 如图,选择要安装的MYSQL 版本(以5.7为例),点击进入 如图,这里可以继续选择mysql的详细版本,选择完mysql版本后,选择操作系统的版本,如果不知道操作系统的版本,可选择通用版本:Linux-Generic ,选择完操作系统版本后,下边会展示出对应可选的下载链接,根据自己操作系统的位数,点击下载链接进行下载即可。一般这里会展示多个版本,随便选择一个就行。需要注意的是,这里需要下载整个包(Download Packages Separately),这里我下载到的文件名称为:Percona-XtraDB-Cluster-5.7.25-rel28-31.35.1.Linux.x86_64.ssl101.tar.gz 3,下载Percona XtraBackup 2.4 这里的操作和第二步基本类似,需要注意的是

PXC集群

◇◆丶佛笑我妖孽 提交于 2019-12-21 12:18:31
常见mysql集群 1、PXC (同步传输)只支持InndoDB 2、Replication (异步传输) 搭建PXC集群 docker pull percona/percona-xtradb-cluster:5.7.21 docker tag percona/percona-xtradb-cluster:5.7.21 pxc docker rmi percona/percona-xtradb-cluster:5.7.21 PXC主节点容器 第一个启动的PXC节点是主节点,他要初始化PXC集群。 等到PXC启动后,就没有PXC主节点这个角色了。 PXC集群中每一个节点都是可读写的,不分主次。 创建主节点容器 docker run -d -p 9001:3306 \ -e MYSQL_ROOT_PASSWORD=abc123456 \ -e CLUSTER_NAME=PXC1 \ -e XTRBACKUP_PASSWORD=abc123456 \ -v pnv1:/var/lib/mysql --privileged \ --name pn1 --net swarm_mysql pxc 必须主节点可以访问了才可以创建从节点 创建从节点容器 docker run -d -p 9001:3306 \ -e MYSQL_ROOT_PASSWORD=abc123456 \ -e

Percona XtraDB Cluster(PXC 5.7)

倾然丶 夕夏残阳落幕 提交于 2019-12-21 00:03:43
环境 三台主机 pxc1:192.168.7.71 pxc2:192.168.7.72 pxc3:192.168.7.73 firewalld 和 selinux都关闭,保证时间同步;如果已安装MySQL,必须卸载!!! OS 版本 [root@pxc1 ~]#cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) 操作步骤 pxc1主机 1.安装辅助工具Ansible,前提三台主机做好key验证 [root@pxc1 ~]#yum -y install ansible 1.1/etc/ansible/hosts配置,在最后一行后面添加以下配置 [pxcservers] 192.168.7.71 192.168.7.72 192.168.7.73 1.2/etc/ansible/ansible.cfg配置 module_name = shell #115行,将默认的模块command该为shell host_key_checking = False #71行,去掉前面的注释 2.安装Percona XtraDB Cluster 5.7 # 1.使用清华大学的yum源,官方源太慢了 [root@pxc1 ~]#vim /etc/yum.repos.d/pxc.repo [percona] name=percona

Xtrabackup的安装与使用

巧了我就是萌 提交于 2019-12-20 02:32:36
Xtrabackup的安装与使用 1. XtraBackup 简介   XtraBackup(PXB) 工具是 Percona 公司用 perl 语言开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,并且全部开源,真可谓是业界良心。阿里的 RDS MySQL 物理备份就是基于这个工具做的。由于是采取物理拷贝的方式来做的备份,所以速度非常快,几十G数据几分钟就搞定了,而它巧妙的利用了mysql 特性做到了在线热备份,不用像以前做物理备份那样必须关闭数据库才行,直接在线就能完成整库或者是部分库的全量备份和增量备份。新版本的xtrabackup改成了cmake安装,和以前有点不一样。 版本说明: 2.3.3之后不备份死锁,如果数据库是mysql 5.7之后的必须要装2.4.4才可以用,当然了, 会向下兼容的。 工具集:软件包安装后,有以下可执行文件 bin/ ├── innobackupex -> xtrabackup ├── xbcloud ├── xbcloud_osenv ├── xbcrypt ├── xbstream └── xtrabackup 其中最主要的是 innobackupex 和 xtrabackup,前者是一个 perl 脚本,后者是 C/C++ 编译的二进制。Percona

COMMIT OR conn.setAutoCommit(true)

旧巷老猫 提交于 2019-12-18 04:45:05
问题 I have noticed some programmer using COMMIT other using conn.setAutoCommit(true); to end the transaction or roll back so what are the benefits of using one instead of the other? Where is the main difference? conn.setAutoCommit(true); over statement.executeQuery(query); statement.commit(); 回答1: You should in general use Connection.commit() and not Connection.setAutoCommit(true) to commit a transaction, unless you want to switch from using transaction to the 'transaction per statement' model of

mysql热备工具-percona innobackupex 全备步骤【附 远程冷备 程序】

别等时光非礼了梦想. 提交于 2019-12-16 11:14:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #1—环境 工作地点:量化派 使用背景:主从的从库挂掉,只剩下主库高负荷工作。迫切需要备份数据,搭建从库。 #2—自己的话: 合格运维工程师或DBA工程师,操作数据时,首先需要备份。 这样当数据库出现问题时,才能恢复。 但是一般的数据恢复时间是很长的,不符合业务需要求,这就需要我们使用一个快速备份与恢复的软件。 听别人说使用mysqldump会锁表,大数据量的时候会很慢。 然后我们研究决定采用 percona innobackupex, 这是一个快速的热备工具,能够支持全量和增量备份。 优点一大堆,你用就对了!直接上操作手册,方便以后自己操作。 #3—安装 innobackupex的安装,直接看官网,有多种安装方式: https://www.percona.com/doc/percona-xtrabackup/2.4/index.html 我们采用的方式是用 rpm包安装,这样方便以后统一版本, ##3.1—下载包 wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.0/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.0-rc1.1.el7.x86_64.rpm ##3

TokuDB的索引结构–分形树的实现

落爺英雄遲暮 提交于 2019-12-14 21:21:14
分形树简介 原文:http://www.bitstech.net/2015/12/15/tokudb-index-introduction/ 分形树是一种写优化的磁盘索引数据结构。 在一般情况下, 分形树的写操作(Insert/Update/Delete)性能比较好,同时它还能保证读操作近似于B+树的读性能。据Percona公司测试结果显示, TokuDB分形树的写性能优于InnoDB的 B+树 ), 读性能略低于B+树。 类似的索引结构还有LSM-Tree, 但是LSM-Tree的写性能远优于读性能。 工业界实现分形树最重要的产品就是 Tokutek 公司开发的ft-index(Fractal Tree Index)键值对存储引擎。这个项目自2007年开始研发,一直到2013年开源,代码目前托管在 Github 上。开源协议采用 GNU General Public License授权。 Tokutek公司为了充分发挥ft-index存储引擎的威力,基于K-V存储引擎之上,实现了MySQL存储引擎插件提供所有API接口,用来作为MySQL的存储引擎, 这个项目称之为 TokuDB , 同时还实现了MongoDB存储引擎的API接口,这个项目称之为 TokuMX 。在2015年4月14日, Percona公司宣布收购Tokutek公司, ft-index/TokuDB

MySQL Trigger with transaction insert or update

主宰稳场 提交于 2019-12-12 18:32:54
问题 i'm using mysql db & java, so in my application i need to use trigger, but i need to make it save while inserting or updating. when insering new record in table A, trigger will do the work to insert some information in another table B. also when doing update for records in table A, trigger will update records for table B. if transaction during update or insrt rolledback, does this rolled back any changes done by the trigger.??!! 回答1: Yes, if the transaction is rolled back, the work done by

MySQL 5.6 deadlock for locking the same rows twice?

一笑奈何 提交于 2019-12-12 09:37:47
问题 I am seeing a deadlock with MySQL 5.6 because of what seems like trying to lock the same row/s twice. From the snippet below, rows where id = (11, 12, 13, 14, 15) already have a lock. And when another transaction tried to acquire a lock on these, MySQL failed the transaction detecting a deadlock. Is my reading of this correct? If so, is there anything in MySQL 5.6 to get over this? FWIW, the same code in 5.5 worked just fine (for several hundreds of iterations). ------------------------