Percona 数据库
1. Percona介绍
Percona Server由领先的MySQL咨询公司Percona发布。 Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB 。
Percona团队的最终声明是“Percona Server是由Oracle发布的最接近官方MySQL Enterprise发行版的版本”,因此与其他更改了大量基本核心MySQL代码的分支有所区别。 Percona Server的一个缺点是他们自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的控制。
Percona提供了高性能XtraDB引擎,还提供PXC高可用解决方案,并且附带了perconatoolkit等DBA管理工具箱
2. Percona 安装
我使用yum安装
首先安装yum源
yum -y install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-6.noarch.rpm
2. 安装percona server
yum install -y Percona-Server-server-57
查看/etc/my.cnf的配置信息:
!includedir /etc/my.cnf.d/
!includedir /etc/percona-server.conf.d/
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3. 初始化数据库:
mysqld --initialize --user=mysql
4. 启动数据库
service mysqld start
5. 查看mysql进程
ps –ef|grep mysql
6. 获取root初始化密码:
在/var/log/mysqld.log中所有password关键词,获取初始化密码
7. 修改root 密码
Percona 操作跟mysql 一模一样 命令也是一样
3. Percona存储引擎
Percona XtraDB 是 InnoDB 存储引擎的增强版,被设计用来更好的使用更新计算机硬件系统的性能,同时还包含有一些在高性能环境下的新特性。 XtraDB 存储引擎是完全的向下兼容,在 MariaDB 中, XtraDB 存储引擎被标识为”ENGINE=InnoDB”,这个与 InnoDB 是一样的,所以你可以直接用XtraDB 替换掉 InnoDB而不会产生任何问题。 Percona XtraDB 包含有所有 InnoDB’s 健壮性,可依赖的 ACID 兼容设计和高级MVCC 架构。 XtraDB 在InnoDB 的坚实基础上构建,使 XtraDB 具有更多的特性,更好调用,更多的参数指标和更多的扩展。从实践的角度来看, XtraDB 被设计用来在多核心的条件下更有效的使用内存和更加方便,更加可用。新的特性被用来降低 InnoDB 的局限性。性能层面, XtraDB与内置的MySQL 5.1 InnoDB引擎相比,它每分钟可处理2.7倍的事务。
这是以前的数据对比, 现在新版mysql 5.7.x 或者 mysql 8.x 的 Innodb 对比 ,处理已近差不多了。
4. Percona高可用架构
• MHA
• MMM
• ATLAS
• MyCAT
其配置方法也和MySQL一样
5. Percona XtraDB Cluster (PXC)架构
Percona XtraDB Cluster是MySQL高可用性和可扩展性的解决方案.
Percona XtraDB Cluster提供的特性有
1.同步复制,事务要么在所有节点提交或不提交。
2.多主复制,可以在任意节点进行写操作。
3.在从服务器上并行应用事件,真正意义上的并行复制。
4.节点自动配置。
5.数据一致性,不再是异步复制。
Percona XtraDB Cluster完全兼容MySQL和Percona Server
,表现在:
数据的兼容性
应用程序的兼容性:无需更改应用程序
1.集群是有节点组成的,推荐配置至少3个节点,但是也可以运行在2个节点上。
2.每个节点都是普通的mysql/percona服务器,可以将现有的数据库服务器组成集群,
从PXC机器群可以拆分成单独的服务器。
3.每个节点都包含完整的数据副本。
5.1 PXC 优缺点
优点如下:
1.当执行一个查询时,在本地节点上执行。因为所有数据都在本地,无需远程访问。
2.无需集中管理。可以在任何时间点失去任何节点,但是集群将照常工作。
3.良好的读负载扩展,任意节点都可以查询。
缺点如下:
1.加入新节点,开销大。需要复制完整的数据
2.不能有效的解决写缩放问题,所有的写操作都将发生在所有节点上。
3.有多少个节点就有多少重复的数据
Percona XtraDB Cluster基于XtraDB的Percona Server以及包含写复制集补丁。 使用Galera 2.x library,事务型应用下的通用的多主同步复制插件
。
6. Percona XtraDB Cluster 搭建
3个节点环境
主机名 | ip | 数据库版本 |
percona1 | 10.0.0.130 | percona 5.7.23 |
percona2 | 10.0.0.131 | percona 5.7.23 |
percona3 | 10.0.0.132 | percona 5.7.23 |
关闭了selinux ,防火墙
各节点做好host解析
/etc/hosts 中添加
10.0.0.130 percona1
10.0.0.131 percona2
10.0.0.132 percona3
每个节点删除原本安装的percona server软件:
yum erase -y Percona-Server-server-57
yum erase -y Percona-Server-client-57
每个节点安装软件:
yum install -y Percona-XtraDB-Cluster-57
在log文件中找到root的临时密码:
每个节点修改root密码:我这省略
配置各个节点的/etc/percona-xtradb-cluster.conf.d/wsrep.cnf文件:
第一个节点percona1
[mysqld]
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://10.0.0.130,10.0.0.131,10.0.0.132
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads= 8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=10.0.0.130
wsrep_cluster_name=pxc-cluster
wsrep_node_name=percona1
pxc_strict_mode=ENFORCING
wsrep_sst_method=rsync
第一个节点启动必须用下面这种方式:
systemctl start mysql@bootstrap.service
第二个节点
[mysqld]
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://10.0.0.130,10.0.0.131,10.0.0.132
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads= 8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=10.0.0.131
wsrep_cluster_name=pxc-cluster
wsrep_node_name=percona2
pxc_strict_mode=ENFORCING
wsrep_sst_method=rsync
其他节点启动percona
service mysql start
第三个节点
[mysqld]
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://10.0.0.130,10.0.0.131,10.0.0.132
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads= 8
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=10.0.0.132
wsrep_cluster_name=pxc-cluster
wsrep_node_name=percona3
pxc_strict_mode=ENFORCING
wsrep_sst_method=rsync
第三个节点启动
service mysql start
查看所有的的pxc的状态
show status like 'wsrep_%';
两个节点上分别插入数据测试:
第一个节点:
第二个节点:
关闭第一个节点,对外操作的也没影响
恢复第一节点
其他节点插入数据,
第一节点恢复启动,数据也是同步的
Percona 数据库的更多相关文章
- MySQL/MariaDB/Percona数据库升级脚本
MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本 ...
- percona数据库监控工具的安装部署
Percona Monitoring and Management 安装 PMM是一个开源,免费的mysql管理监控平台,他可以用来分析mysql,mariadb和mongodb的服务器性能. 安装步 ...
- MySQL分支Percona, cmake编译安装
Percona是在MySQL基础上改进的,在功能和性能上有着很显著的提升.该版本提升了在高负载情况下的InnoDB的性能,为DBA提供一些非常有用的性能诊断工具:另外有更多的参数和命令来控制服务器行为 ...
- pt-table-checksum和pt-heartbeat的使用
一.pt-table-checksum 1.主从上均新建账户GRANT SELECT, PROCESS, SUPER, REPLICATION SLAVE ON *.* TO 'checksum'@' ...
- Linux-LNMP LAMP LNMPA
这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS ...
- 转:Spine.JS+Rails重客户端Web应用技术选型思路:『风车』架构设计
原文来自于:http://www.infoq.com/cn/articles/fengche-co-architecture 风车这个项目开始于 2011 年 11 月份,之前叫做 Pragmatic ...
- lnmp、lamp、lnmpa一键安装包(Updated: 2015-10-25)
lnmp.lamp.lnmpa一键安装包(Updated: 2015-10-25) 2014-12-26 Posted by yeho 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/ ...
- ***OneinStack交互安装FAQ和管理服务常用命令
转自: https://oneinstack.com/install/ 自动生成oneinstack安装连接: https://oneinstack.com/auto/ (进入linux系统后复杂上 ...
- pt-table-checksum 使用方法【转】
27. pt-table-checksum27.1 pt-table-checksum 作用 主要用来检查主从数据是否一致,原理即在主库执行把表每行的列通过concat函数进行拼接,然后对拼接的值进行 ...
随机推荐
- [原]OpenStreetMap数据瓦片服务性能篇
上文说到如何利用node-mapnik架设OpenStreetMap瓦片服务,解决了有没有的问题.然而这个服务还是比较孱弱,主要表现在以下几个方面: 1. Node.js只能使用CPU的一个核,不能有 ...
- php之$_SESSION的理解
1.什么是session? Session的中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个sessi ...
- windows下 zookeeper
1.zookeeper的安装和配置 下载:http://zookeeper.apache.org/releases.html 把conf目录下的zoo_sample.cfg改名成zoo.cfg,这里我 ...
- Log4Net web.config配置
1 .[assembly: log4net.Config.XmlConfigurator(ConfigFile = "web.config", Watch = true)] 写 ...
- 【Selenium】【BugList4】执行pip报错:Fatal error in launcher: Unable to create process using '""D:\Program Files\Python36\python.exe"" "D:\Program Files\Python36\Scripts\pip.exe" '
环境信息: python版本:V3.6.4 安装路径:D:\Program Files\python36 环境变量PATH:D:\Program Files\Python36;D:\Program F ...
- MD5=======RBAC权限管理
经过网上查阅相关的说明原来,MD5全名Message-Digest Algorithm 5(信息-摘要算法)是一种不可逆的加密算法. MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性 ...
- VUE 动态给对象增加属性,并触发视图更新。
在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的. 根据官方文档定义 ...
- 序列化与Json
序列化: 将数据结构或对象转换成二进制串的过程. 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程. 首先我们通过复制文件举例,这里面就包含序列化与反序列化的过程: public ...
- Reading | 《数字图像处理原理与实践(MATLAB版)》(未完待续)
目录 一.前言 1.MATLAB or C++ 2.图像文件 文件头 调色板 像素数据 3.RGB颜色空间 原理 坐标表示 4.MATLAB中的图像文件 图像类型 image()函数 imshow() ...
- AJAX从入门到放弃(一)
AJAX可以用于创建快速动态的网页(无需重新加载整个网页的情况下,能够更新部分网页的技术) 即异步的Javascript和XML,通过后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新. A ...